Macro en excel
Publicado por iuliano (6 intervenciones) el 17/02/2010 14:35:46
Hola a todos.
Tengo una macro creada en un excel con varias tablas y formulas, 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 ahi 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, asi que tengo una tabla con 18 filas pues esta puesta 18 veces la función.
Os pongo mi macro y si alguién 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 formulas, 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 ahi 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, asi que tengo una tabla con 18 filas pues esta puesta 18 veces la función.
Os pongo mi macro y si alguién 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
Valora esta pregunta
0