¿Cómo copiar de una a todas las hojas de excel?
Hola! Mi pregunta se refiere a como programar una macro que, desde una hoja de excel, copie dos rangos diferentes de celdas y luego los pegue en el mismo lugar en todas las hojas de excel, hice una que lo hace solo de una hoja a otra, pero solo funciona para esas dos en especifico.
Intente usar un "for each" y al parecer hace el rocorrido en todas las hojas pero no lo pega, esto es lo que tengo del código:
Esta solo sirve entre 2 hojas:
Sub machote()
'
' machote Macro
'
Sheets("1").Select
Rows("93:605").Select
Selection.Copy
Sheets("2").Select
Rows("93:93").Select
ActiveSheet.Paste
Sheets("1").Select
Range("F27:F29").Select
Application.CutCopyMode = False
Selection.Copy
Sheets(" 2").Select
Range("F27").Select
ActiveSheet.Paste
End Sub
esta hace el recorrido de todas las hojas pero no pega nada en ellas:
Sub copiatodo()
'
' copiatodo Macro
'
' Acceso directo: Ctrl+Mayús+P
'
Dim Sht As Worksheet
Dim sCurrentSheet As String
sCurrentSheet = ActiveSheet.Name
Application.ScreenUpdating = False
For Each Sht In Application.Worksheets
Sht.Activate
Sheets("1").Select
Rows("93:605").Select
Selection.Copy
ActiveSheet.Select
Rows("93:93").Select
ActiveSheet.Select
Sheets("1").Select
Range("F27:F29").Select
Application.CutCopyMode = False
Selection.Copy
ActiveSheet.Select
Range("F27").Select
ActiveSheet.Select
Next Sht
Worksheets(sCurrentSheet).Activate
End Sub
Muchas gracias
Intente usar un "for each" y al parecer hace el rocorrido en todas las hojas pero no lo pega, esto es lo que tengo del código:
Esta solo sirve entre 2 hojas:
Sub machote()
'
' machote Macro
'
Sheets("1").Select
Rows("93:605").Select
Selection.Copy
Sheets("2").Select
Rows("93:93").Select
ActiveSheet.Paste
Sheets("1").Select
Range("F27:F29").Select
Application.CutCopyMode = False
Selection.Copy
Sheets(" 2").Select
Range("F27").Select
ActiveSheet.Paste
End Sub
esta hace el recorrido de todas las hojas pero no pega nada en ellas:
Sub copiatodo()
'
' copiatodo Macro
'
' Acceso directo: Ctrl+Mayús+P
'
Dim Sht As Worksheet
Dim sCurrentSheet As String
sCurrentSheet = ActiveSheet.Name
Application.ScreenUpdating = False
For Each Sht In Application.Worksheets
Sht.Activate
Sheets("1").Select
Rows("93:605").Select
Selection.Copy
ActiveSheet.Select
Rows("93:93").Select
ActiveSheet.Select
Sheets("1").Select
Range("F27:F29").Select
Application.CutCopyMode = False
Selection.Copy
ActiveSheet.Select
Range("F27").Select
ActiveSheet.Select
Next Sht
Worksheets(sCurrentSheet).Activate
End Sub
Muchas gracias
1 respuesta
Respuesta de Elsa Matilde
1