Macro ineficiente

12/10/2005 - 15:44 por navibel | Informe spam
Buenaaaaaaaaaaaas

Yo con la grabadora de macros (no tengo ni idea de programación) y
vuestra ayuda me voy apañando, pero los macros que me salen me parece
que son un churro, aunque me funcionan

Este es un ejemplo:

Sub Pegar()
Application.ScreenUpdating = False
Windows("informeDescarga.txt").Activate
Range("A2:A200").Select
Selection.Copy
Windows("PLANTILLA_CARGA_COCO.xls").Activate
Range("A2").Select
Selection.PasteSpecial Paste:=xlValues, Operation:=xlNone,
SkipBlanks:= _
False, Transpose:=False
Windows("informeDescarga.txt").Activate
Range("D2:D200").Select
Application.CutCopyMode = False
Selection.Copy
Windows("PLANTILLA_CARGA_COCO.xls").Activate
Range("B2").Select
Selection.PasteSpecial Paste:=xlValues, Operation:=xlNone,
SkipBlanks:= _
False, Transpose:=False
Windows("informeDescarga.txt").Activate
Range("C2:C200").Select
Application.CutCopyMode = False
Selection.Copy
Windows("PLANTILLA_CARGA_COCO.xls").Activate
Range("C2").Select
Selection.PasteSpecial Paste:=xlValues, Operation:=xlNone,
SkipBlanks:= _
False, Transpose:=False
Windows("informeDescarga.txt").Activate
Range("B2:B200").Select
Application.CutCopyMode = False
Selection.Copy
Windows("PLANTILLA_CARGA_COCO.xls").Activate
Range("D2").Select
Selection.PasteSpecial Paste:=xlValues, Operation:=xlNone,
SkipBlanks:= _
False, Transpose:=False
Windows("informeDescarga.txt").Activate
Range("E2:E200").Select
Application.CutCopyMode = False
Selection.Copy
Windows("PLANTILLA_CARGA_COCO.xls").Activate
Range("F2").Select
Selection.PasteSpecial Paste:=xlValues, Operation:=xlNone,
SkipBlanks:= _
False, Transpose:=False
Ponerorden
Range("A2").Select
Application.CutCopyMode = False
Application.ScreenUpdating = True
End Sub

..o sea que lo que hago aqui es coger un rango de una hoja TXT y pegar
su valores en un XLS. Como no son contiguos, no se hacer otra cosa
¿Como lo haría..

Al final, me he creado unas cuantas macros para automatizar una tarea,
y estos macros los ejecuto llmándolos desde uno de ellos. Mi segunda
pregunta es donde le pongo el Screeenupdating para que no parpadee ¿En
todos ellos...

Saludos

Preguntas similare

Leer las respuestas

#1 luis
12/10/2005 - 18:51 | Informe spam
¿por qué no cargas una hoja excel con el txt y después la tratas?
Creo que sería mucho más eficiente



"navibel" escribió en el mensaje
news:
Buenaaaaaaaaaaaas

Yo con la grabadora de macros (no tengo ni idea de programación) y
vuestra ayuda me voy apañando, pero los macros que me salen me parece
que son un churro, aunque me funcionan

Este es un ejemplo:

Sub Pegar()
Application.ScreenUpdating = False
Windows("informeDescarga.txt").Activate
Range("A2:A200").Select
Selection.Copy
Windows("PLANTILLA_CARGA_COCO.xls").Activate
Range("A2").Select
Selection.PasteSpecial Paste:=xlValues, Operation:=xlNone,
SkipBlanks:= _
False, Transpose:=False
Windows("informeDescarga.txt").Activate
Range("D2:D200").Select
Application.CutCopyMode = False
Selection.Copy
Windows("PLANTILLA_CARGA_COCO.xls").Activate
Range("B2").Select
Selection.PasteSpecial Paste:=xlValues, Operation:=xlNone,
SkipBlanks:= _
False, Transpose:=False
Windows("informeDescarga.txt").Activate
Range("C2:C200").Select
Application.CutCopyMode = False
Selection.Copy
Windows("PLANTILLA_CARGA_COCO.xls").Activate
Range("C2").Select
Selection.PasteSpecial Paste:=xlValues, Operation:=xlNone,
SkipBlanks:= _
False, Transpose:=False
Windows("informeDescarga.txt").Activate
Range("B2:B200").Select
Application.CutCopyMode = False
Selection.Copy
Windows("PLANTILLA_CARGA_COCO.xls").Activate
Range("D2").Select
Selection.PasteSpecial Paste:=xlValues, Operation:=xlNone,
SkipBlanks:= _
False, Transpose:=False
Windows("informeDescarga.txt").Activate
Range("E2:E200").Select
Application.CutCopyMode = False
Selection.Copy
Windows("PLANTILLA_CARGA_COCO.xls").Activate
Range("F2").Select
Selection.PasteSpecial Paste:=xlValues, Operation:=xlNone,
SkipBlanks:= _
False, Transpose:=False
Ponerorden
Range("A2").Select
Application.CutCopyMode = False
Application.ScreenUpdating = True
End Sub

..o sea que lo que hago aqui es coger un rango de una hoja TXT y pegar
su valores en un XLS. Como no son contiguos, no se hacer otra cosa
¿Como lo haría..

Al final, me he creado unas cuantas macros para automatizar una tarea,
y estos macros los ejecuto llmándolos desde uno de ellos. Mi segunda
pregunta es donde le pongo el Screeenupdating para que no parpadee ¿En
todos ellos...

Saludos
Respuesta Responder a este mensaje
#2 navibel
13/10/2005 - 13:00 | Informe spam
..pues no, porque luego tengo que hacer más cosas, que ejecuto con
otros macros. No tengo con este, que me funciona, pero quería saber si
puedo hacerlo "más corto"..

Saludos
Respuesta Responder a este mensaje
#3 navibel
14/10/2005 - 11:52 | Informe spam
Ok, gracias Guillermo. Funciona perfectamente
email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaRespuesta Tengo una respuesta
Search Busqueda sugerida