Sigo creciendo en dudas respecto a la creación de macros. En parte por la "culpa" de [uSER=46507]@Macro Antonio[/uSER] que me resuelve todo como si fuera fácil.
El objetivo es copiar una hoja "AA_plantilla" un número de veces determinado (hecho) para en un segundo paso poder copiar los nombres de la hoja (AA_nombres) en las casillas A2 de las hojas que se acaban de crear y renombrar estas nuevas hojas con este nombre.
Esta macro hace perfectamente el paso número 1: copiar la plantilla
Hola a tod@s,
Sigo creciendo en dudas respecto a la creación de macros. En parte por la "culpa" de [uSER=46507]@Macro Antonio[/uSER]
que me resuelve todo como si fuera fácil.
El objetivo es copiar una hoja "AA_plantilla" un número de veces determinado (hecho) para en un segundo paso poder copiar los nombres de la hoja (AA_nombres) en las casillas A2 de las hojas que se acaban de crear y renombrar estas nuevas hojas con este nombre.
Esta macro hace perfectamente el paso número 1: copiar la plantilla
"Sub CopiaHoja()
On Error Resume Next
nombreHoja = InputBox("¿Qué hoja quieres copiar?")
For x = 1 To Sheets.Count
If ActiveWorkbook.Sheets(x).Name = nombreHoja Then
ExisteHoja = True
IndiceHoja = x
End If
Next x
If ExisteHoja = True Then
NumeroDeCopias = InputBox("¿Cuántas veces quieres copiar esta hoja?")
For y = 1 To NumeroDeCopias
Nombre = Val(nombreHoja) + y
Sheets(IndiceHoja).Select
Sheets(IndiceHoja).Copy After:=Sheets(Sheets.Count)
Sheets(Sheets.Count).Name = Nombre
Next y
Else
MsgBox "El nombre de la hoja no es correcto o no existe ... aún ...."
End If
End Sub"
Y me he quedado en el paso 2: Copiar los nombres y renombrar las hojas.
"Sub repartir_datos()
Sheets("1").Range("A2").Insert Shift:=xlDown, CopyOrigin:=xlFormatFromLeftOrAbove
Sheets("1").Cells(2, "A").Value = Sheets("AA_Nombres").Cells(1, "A").Value
End Sub"
Ahí va el fichero de ejemplo también
¿Alguna pista?
clientes.rar