MACRO IMPORTACION

05/01/2009 - 22:01 por CESAR | Informe spam
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

Preguntas similare

Leer las respuestas

#1 NvB
05/01/2009 - 22:09 | Informe spam
Hola César, a lo mejor es una tonteria lo que expreso, pero se me ocurre que
si grabas una macro manual con lo que quieres ya la tendrías para veces
sucesivas. Mis cocimientos de excel son a lo bestia, pero bueno, dan apaño.

Saludos

"CESAR" escribió en el mensaje de
noticias:
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
email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaRespuesta Tengo una respuesta
Search Busqueda sugerida