hola amigos del foro, espero me puedan orientar,tengo una macro cuya funcion
es llevar desde excel a un txt la informacion que aparece en
Range("a8:a700").Copy
el range esta expresado en el cuerpo de la macro abajo, ahora la consulta es
la sgte
el rango que quiero que pase a txt es variable osea puede abarcar desde 1
hasta 10000 registros ahora bien en la hoja1 tengo 100 registros, en la hoja
2 y 3 7000 y 1500 respectivamente mi pregunta es como puedo hacer para que al
ejecutar la macro solo pase al txt la data que esta ingresada osea en este
caso como el range esta hasta 700 entonces en le primer caso me tomara los
100 mas 600 en blanco, en el 2 seria imcpleto osea 700 y omitiria el restante
y lo que yo quiero
es que solo tome lo que aprece en la hoja osea si es 100 en hoja 1 tome eso
si es 7000 en el 2do los tome y asi segun la data de cada hoja ,esto para no
entrar a cada momento a cambiar el rango en el editor ya que seria algo
tedioso
espero vuestra ayuda de antemano gracias
la macro es la sgte:
Sub GeneraTXT()
Dim Ruta As String, Archivo As String, Resultado As String
Application.ScreenUpdating = False
Application.EnableEvents = False
Ruta = ThisWorkbook.Path & "\"
Archivo = "060120081020512345612.REM"
Resultado = Ruta & Archivo
With Workbooks.Add
ThisWorkbook.Worksheets(7).Range("a8:a700").Copy
With .Worksheets(1)
.Range("a1").PasteSpecial xlPasteValues
End With
.SaveAs Filename:=Resultado, FileFormat:=xlTextWindows
.Close False
End With
End Sub
Leer las respuestas