Excel - exportar seleccion

 
Vista:

exportar seleccion

Publicado por makinavaja (7 intervenciones) el 07/08/2008 19:52:34
Hola, tengo una hoja de excel completa y me gustaria que por medio de un boton me exportase unas celdas a un archivo txt con este formato (celda+tabulador+celda+tabulador), y si se puede que te pregunte la ruta donde lo quiere guardar

12 <tabulador> 34 <tabulador> 56

67 <tabulador> 54 <tabulador> 16

98 <tabulador> 35 <tabulador> 12

72 <tabulador> 90 <tabulador> 49

65 <tabulador> 89 <tabulador> 58

Un saludo
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:exportar seleccion

Publicado por makinavaja (7 intervenciones) el 07/08/2008 23:40:14
Si lo acabo de contestar....
Pongo la solucion para todos.

'*******************************************************************************
'* ExportarRangoATexto
'* exporta a un archivo de texto el rango indicado como parámetro
'* Argumentos: strArchivoSalida => ruta completa del archivo de salida
'* strRango => rango de datos a exportar
'* strHoja => (opcional) nombre de la hoja que contiene los
'* datos a exportar
'* uso: ExportarRangoATexto "C:Temppp.txt", "B2:D8"
'* ESH 07/08/08 22:38
'* Si utilizas este codigo, respeta la autoría y los créditos
'*******************************************************************************

Public Sub ExportarRangoATexto(strArchivoSalida As String, strRango As String, Optional strHoja As String)

Dim bytArchivo As Byte, _
Celda As Range, _
lngColumnas As Long, _
strTexto As String, _
i As Long

' si no se pasa hoja presupongo que es la activa
On Error GoTo ExportarRangoATexto_TratamientoErrores

If strHoja = "" Then strHoja = ActiveSheet.Name
bytArchivo = FreeFile

' selecciono el rango de datos
Worksheets(strHoja).Range(strRango).Select
' cuento el número de columnas
lngColumnas = Selection.Columns.Count
' abro el archivo de salida
Open strArchivoSalida For Output As #bytArchivo
' recorro las celdas del rango
For Each Celda In Worksheets(strHoja).Range(strRango)
' meto en una variable el contenido de la celda y un tabulador
strTexto = strTexto & Celda & vbTab
i = i + 1
' al llegar a la ultima columna del rango envío los datos al archivo
If i = lngColumnas Then
Print #bytArchivo, Mid(strTexto, 1, Len(strTexto) - 1)
' reseteo variables
i = 0
strTexto = ""
End If
Next Celda
' cierro el archivo
Close #bytArchivo

ExportarRangoATexto_Salir:
On Error GoTo 0
Exit Sub

ExportarRangoATexto_TratamientoErrores:
MsgBox "Error " & Err & " en proc.: ExportarRangoATexto de Módulo: Módulo1 (" & Err.Description & ")", vbCritical + vbOKOnly, "ATENCION"
Resume ExportarRangoATexto_Salir

End Sub ' ExportarRangoATexto
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar