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
 

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

Preguntas similares