Ver Mensaje Individual
  #9 (permalink)  
Antiguo 09/03/2010, 20:13
joseravelo
 
Fecha de Ingreso: marzo-2010
Mensajes: 1
Antigüedad: 14 años, 1 mes
Puntos: 0
Respuesta: Duda para generar un txt con un macro

Hola amigo:

Modifique tu código para que en vez de usar espacio agregara como separador
un ;, ya que asi lo necesitaba.

pero ahora tengo un problema que es una tonteria y ya la cabeza no me da.

a ver si ustedes ven. el problema es que cada linea de datos termina con el ; y en mi caso el ultimo elemento deberia terminar sin esta.

este es el codigo que modifique:

-----------------------------
Sub GeneraTxt()
Dim MiRango As Range, Largo As Integer, FilaActual As Long
On Error Resume Next
Set MiRango = Application.InputBox("Seleccione rango a exportar", Type:=8)
On Error GoTo 0
If MiRango Is Nothing Then Exit Sub
Open "\TEXTO.txt" For Output As #1
For Each celda In MiRango
If Largo <= Len(celda) Then Largo = 1 + Len(celda)
Next celda
FilaActual = MiRango.Cells(1).Row
For Each celda In MiRango
If FilaActual < celda.Row Then
FilaActual = celda.Row: Print #1, ""
End If
Print #1, CStr(celda); ";";
Next celda
Close #1
Set MiRango = Nothing
End Sub

------------------------------------------------------------------
Espero haberme explicado. y gracias por su tiempo.









----------------------------------------------- anterior -------------------

Cita:
Iniciado por mrocf Ver Mensaje
Una variante dentro del mismo esquema sería:

Código:
Sub GeneraTxt()
Dim MiRango As Range, Largo As Integer, FilaActual As Long
On Error Resume Next
Set MiRango = Application.InputBox("Seleccione rango a exportar", Type:=8)
On Error GoTo 0
    If MiRango Is Nothing Then Exit Sub
    Open "C:\TEXTO.txt" For Output As #1
For Each Celda In MiRango
    If Largo <= Len(Celda) Then Largo = 1 + Len(Celda)
Next Celda
    FilaActual = MiRango.Cells(1).Row
For Each Celda In MiRango
    If FilaActual < Celda.Row Then
        FilaActual = Celda.Row: Print #1, ""
    End If
    Print #1, CStr(Celda); Space(Largo - Len(Celda));
Next Celda
    Close #1
    Set MiRango = Nothing
End Sub 
Saludos

Última edición por joseravelo; 09/03/2010 a las 20:15 Razón: error de tipeo