Macro en tablas de excel
Hola a todos.
Tengo una macro creada en un excel con varias tablas y fórmulas, que lo que hace es coge valores de un rango de una tabla Range("B57:D57") y me lo copia en otra tabla que crea unos resultados según unas fórmulas en otros rangos de una tabla. Esos resultados cada rango de 3 me los va copiando sucesivamente en posicones de otras tablas, hasta ahí bien.
Pero lo que quiero es que me coja automáticamente el siguiente rango de la primera tabla es decir el range("B58:D58"), me lo copie en la tabla de resultados y me vaya copiando los rangos de resultado en las siguientes posiciones de las distintas tablas.
Yo lo estoy haciendo cambiando a mano el número del rango en cada paso, así que tengo una tabla con 18 filas pues esta puesta 18 veces la función.
Os pongo mi macro y si alguien me puede ayudar os lo agradecería.
Un saludo.
Sub Seleccion()
'
' Seleccion Macro
'
' Acceso directo: CTRL+q
'
' ActiveWindow.SmallScroll Down:=-15
' primera
Range("B57:D57").Select
Selection.Copy
Range("B53").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Range("E53:G53").Select
Application.CutCopyMode = False
Selection.Copy
Range("E57").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Range("H53:J53").Select
Application.CutCopyMode = False
Selection.Copy
ActiveWindow.SmallScroll Down:=21
Range("E79").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
ActiveWindow.SmallScroll Down:=-15
Range("K53:M53").Select
Application.CutCopyMode = False
Selection.Copy
ActiveWindow.SmallScroll Down:=42
Range("E100").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
ActiveWindow.SmallScroll Down:=-42
ActiveWindow.SmallScroll ToRight:=5
Range("N53:P53").Select
Application.CutCopyMode = False
Selection.Copy
ActiveWindow.SmallScroll ToRight:=-5
ActiveWindow.SmallScroll Down:=60
Range("E121").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Range("q53:s53").Select
Application.CutCopyMode = False
Selection.Copy
ActiveWindow.SmallScroll ToRight:=-5
ActiveWindow.SmallScroll Down:=60
Range("E143").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
' ActiveSheet.Paste
ActiveWindow.SmallScroll Down:=-60
Tengo una macro creada en un excel con varias tablas y fórmulas, que lo que hace es coge valores de un rango de una tabla Range("B57:D57") y me lo copia en otra tabla que crea unos resultados según unas fórmulas en otros rangos de una tabla. Esos resultados cada rango de 3 me los va copiando sucesivamente en posicones de otras tablas, hasta ahí bien.
Pero lo que quiero es que me coja automáticamente el siguiente rango de la primera tabla es decir el range("B58:D58"), me lo copie en la tabla de resultados y me vaya copiando los rangos de resultado en las siguientes posiciones de las distintas tablas.
Yo lo estoy haciendo cambiando a mano el número del rango en cada paso, así que tengo una tabla con 18 filas pues esta puesta 18 veces la función.
Os pongo mi macro y si alguien me puede ayudar os lo agradecería.
Un saludo.
Sub Seleccion()
'
' Seleccion Macro
'
' Acceso directo: CTRL+q
'
' ActiveWindow.SmallScroll Down:=-15
' primera
Range("B57:D57").Select
Selection.Copy
Range("B53").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Range("E53:G53").Select
Application.CutCopyMode = False
Selection.Copy
Range("E57").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Range("H53:J53").Select
Application.CutCopyMode = False
Selection.Copy
ActiveWindow.SmallScroll Down:=21
Range("E79").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
ActiveWindow.SmallScroll Down:=-15
Range("K53:M53").Select
Application.CutCopyMode = False
Selection.Copy
ActiveWindow.SmallScroll Down:=42
Range("E100").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
ActiveWindow.SmallScroll Down:=-42
ActiveWindow.SmallScroll ToRight:=5
Range("N53:P53").Select
Application.CutCopyMode = False
Selection.Copy
ActiveWindow.SmallScroll ToRight:=-5
ActiveWindow.SmallScroll Down:=60
Range("E121").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Range("q53:s53").Select
Application.CutCopyMode = False
Selection.Copy
ActiveWindow.SmallScroll ToRight:=-5
ActiveWindow.SmallScroll Down:=60
Range("E143").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
' ActiveSheet.Paste
ActiveWindow.SmallScroll Down:=-60
1 respuesta
Respuesta de antares18
1