Error: procedimiento demasiado largo

Hola, buenas tardes, mi consulta es la siguiente: grabé esta macro
Sub Macro2()
'
' Macro2 Macro
'
'
    Range("A9:A1672").Select
    Selection.Copy
    Windows("Resultados de macro aleatoria 3 piezas manual hasta 100 autom.xlsm"). _
        Activate
    Sheets.Add After:=Sheets(Sheets.Count)
    Range("C9").Select
    Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
        :=False, Transpose:=False
    Range("D9").Select
    Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
        :=False, Transpose:=False
    Range("E9").Select
    Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
        :=False, Transpose:=False
    Range("F9").Select
    Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
        :=False, Transpose:=False
    Range("G9").Select
    Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
        :=False, Transpose:=False
Y luego la extendí hasta la columna DZZ9 que en total son más de 3000 columnas, cuando la quiero ejecutar me dice que el procedimiento es demasiado largo, en total son 10200 lineas y creo que si funcionara la macro tardaría entre 12 y 15 horas en completarse, tengo entendido que una macro como máximo puede tener 64000 caracteres, pero no se como subdividirla o buscar otra solución más simple.
Aclaro que en la macro parece que pego siempre los mismos datos copiados pero en realidad estoy copiando resultados de fórmulas que tienen cálculos aleatorios por lo tanto se vuelven a calcular automáticamente cada vez que la macro pega una columna.

1 respuesta

Respuesta
1
Tal vez te sería más simple esto, que te hará lo mismo:
Sub Macro2()
 
    Range("A9:A1672").Select
    Selection.Copy
    Windows("Resultados de macro aleatoria 3 piezas manual hasta 100 autom.xlsm"). _
        Activate
    Sheets.Add After:=Sheets(Sheets.Count)
    Range("C9:DZZ9").Select
    Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
        :=False, Transpose:=False

 
End Sub

Añade tu respuesta

Haz clic para o