Excel - Macro para pegar una hoja de un libro

 
Vista:

Macro para pegar una hoja de un libro

Publicado por Jorge Luis Cervantes Flores (5 intervenciones) el 18/07/2008 03:28:17
Tengo dos libros en excel.
El primero se llama matriz y el segundo se llama indice
Quiero copiar una hoja llamada valorizacion en el libro Indice pero mi problema es que el libro indice tiene como 60 hojas y la hoja valorizacion debe ser copiada en todas las hojas.
El otro problema es que quiero que el nombre de la hojja ( ejemplo 1220 ) se copie en una celda determinada ( Ejemplo A2 ) de la misma hoja y así sucesivamente en todas las hojas.

Hoja 1220 en A2 de la hoja 1220
Hoja 1221 en A2 de la hoja 1221
Como sería la macro
Gracias
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
sin imagen de perfil

RE:Macro para pegar una hoja de un libro

Publicado por jcs (494 intervenciones) el 18/07/2008 10:57:12
Muy buenas,

la primera parte no sé si te la he entendido. Supongo que lo que quieres es tener una hoja de un libro y luego copiarla en todas las hojas de otro libro. Así lo que puedes hacer es copiar la hoja en el portapapeles y luego en el libro de destino ejecutar esta macro:

Sub copiar()
For i = 1 To Sheets.Count
Sheets(i).Select
Range("A1").Select
ActiveSheet.Paste
Next i
End Sub

Para la 2ª parte, ejecuta esta otra macro. Sustituye Range("A2") por la celda que tu quieras:

Sub nombre()
For i = 1 To Sheets.Count
Sheets(i).Select
Range("A2").Value = Sheets(i).Name
Next i
End Sub

Espero que sea lo que quieres.

Un saludo. Juanjo.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Macro para pegar una hoja de un libro

Publicado por Jorge Cervantes (5 intervenciones) el 28/07/2008 05:05:30
Le agradesco funciono bien hice unos cambios.
Option Explicit
Sub crear_hojas2()
Dim Lista As Range
Dim iX As Long



On Error GoTo Cancelar

Set Lista = Application.InputBox(prompt:="Señalar rango de la lista", _
Title:="Lista de nombres", Type:=8)


Application.ScreenUpdating = False


For iX = 1 To Lista.Count
If chequear_hoja(Lista(iX)) = False Then
Sheets.Add after:=Sheets(Sheets.Count)
ActiveSheet.Name = Lista(iX)

End If
Next iX

'Sheets("Hoja1").Activate

Application.ScreenUpdating = True

Cancelar:
End Sub

Function chequear_hoja(sheetName As String) As Boolean

Dim wkb As Worksheet

On Error Resume Next
Set wkb = Sheets(sheetName)
On Error GoTo 0

chequear_hoja = IIf(Not wkb Is Nothing, True, False)
End Function

Sub Copiar()
Dim i As Long
Cells.Select
Application.CutCopyMode = False
Selection.Copy
For i = 1 To Sheets.Count
Sheets(i).Select
Range("A1").Select
ActiveSheet.Paste

Next i
End Sub

Sub Nombre()
Dim i As Long
For i = 1 To Sheets.Count
Sheets(i).Select
Range("F2").Value = Sheets(i).Name

Next i

End Sub

En La hoja1 tengo una lista de nombres de hoja corro la macro crear_hojas2()
y crea todas las hojas
En la Hoja2 copio la hoja que voy a copiar a todas las hojas creadas por la macro anterior.
Todo funciona pero copia la hoja 1 y la hoja 2 tambien como puedo evitar que copie las hojas donde estan los datos
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Macro para pegar una hoja de un libro

Publicado por Jorge Luis  (2 intervenciones) el 30/12/2009 04:05:02
hE HECHO MACRO GRABADA PARA COPIAR LA HOJA PRINCIPAL EN LAS DEMAS HOJAS Y ME SALE ASI
Sub Macro1()
'
' Macro1 Macro
' Macro grabada el 29/12/2009 por 29298044
'

'
Range("A1:H22").Select
Selection.Copy
Sheets(Array("1", "2", "3", "4", "5", "6", "7", "8", "9", "10", "11")).Select
Sheets("1").Activate
ActiveSheet.Paste
Sheets(Array("1", "2", "3", "4", "5", "6", "7", "8", "9", "10", "11")).Select
Sheets("11").Activate
End Sub

cOMO PUEDO HACERLA PARA NO ESTAR SEÑALANDO HOJA POR HOJA
Y LA SEGUNDA PARTE QUIERO COPIAR EL NOMBRE DE LA HOJA EN ESTE CASO 1, 2 ,3 ,4,5,6,7,8,9,10,11, ETC. EN LA CELDA D1
Sub Macro2()
'
' Macro2 Macro
' Macro grabada el 29/12/2009 por 29298044
'

'
Sheets(Array("1", "2", "3", "4", "5", "6", "7", "8", "9", "10", "11")).Select
Sheets("1").Activate
Selection.Copy
ActiveSheet.Paste
Application.CutCopyMode = False
Sheets(Array("1", "2", "3", "4", "5", "6", "7", "8", "9", "10", "11")).Select
Sheets("1").Activate
Selection.Copy
Application.CutCopyMode = False
Sheets(Array("1", "2", "3", "4", "5", "6", "7", "8", "9", "10", "11")).Select
Sheets("1").Activate
Sheets("1").Name = "1"
Range("D1").Select
ActiveSheet.Paste
Sheets(Array("1", "2", "3", "4", "5", "6", "7", "8", "9", "10", "11")).Select
Sheets("2").Activate
Sheets("2").Name = "2"
Range("D1").Select
ActiveSheet.Paste
Sheets(Array("1", "2", "3", "4", "5", "6", "7", "8", "9", "10", "11")).Select
Sheets("3").Activate
Sheets("3").Name = "3"
Range("D1").Select
ActiveSheet.Paste
Sheets(Array("1", "2", "3", "4", "5", "6", "7", "8", "9", "10", "11")).Select
Sheets("4").Activate
Sheets("4").Name = "4"
Range("D1").Select
ActiveSheet.Paste
Sheets(Array("1", "2", "3", "4", "5", "6", "7", "8", "9", "10", "11")).Select
Sheets("5").Activate
Sheets("5").Name = "5"
Range("D1").Select
ActiveSheet.Paste
Sheets(Array("1", "2", "3", "4", "5", "6", "7", "8", "9", "10", "11")).Select
Sheets("6").Activate
Sheets("6").Name = "6"
Range("D1").Select
ActiveSheet.Paste
End Sub

cOMO SE PUEDE HACE UNA NMACRO PARA QUE REALICE ESTE TRABAJO RAPIDO
LES VOY AGRADECER MUCHO
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar