Macros to chage the sheet's name automatically. You only need the names of sheets to rename or list the sheets with tne first macro that I'm going to copy in comments.
Aquí va el código nuevamente: Sub ExtraerNombreDeHojas() 'Macro para extraer los nombres de las hojas del archivo Dim i As Long Dim buscarHoja As Boolean On Error Resume Next buscarHoja = (Worksheets("HojaNombres").Name "") If buscarHoja = False Then Sheets.Add before:=Sheets(1) End If ActiveSheet.Name = "HojaNombres" Sheets("HojaNombres").Activate Sheets("HojaNombres").Cells.Select Selection.ClearContents For i = 1 To Sheets.Count Sheets("HojaNombres").Range("A" & i).Value = Sheets(i).Name 'Nombre de la hoja Next i End Sub Sub Renombra_Hojas() Dim i As Long Dim buscarHoja As Boolean Dim nombreHoja As String On Error Resume Next buscarHoja = Worksheets("HojaNombres").Name "" If buscarHoja = False Then Sheets.Add before:=Sheets(1) End If ActiveSheet.Name = "HojaNombres" ActiveSheet.Range("A1").Activate Do While Not IsEmpty(ActiveCell) nombreHoja = ActiveCell.Value Sheets(nombreHoja).Name = ActiveCell.Offset(0, 1).Value ActiveCell.Offset(1, 0).Activate Loop For i = 1 To Sheets.Count Sheets("HojaNombres").Range("A" & i).Value = Sheets(i).Name Next i End Sub
@@rubenrivera3787 buen día, aquí va::: Aquí va el código nuevamente: Sub ExtraerNombreDeHojas() 'Macro para extraer los nombres de las hojas del archivo Dim i As Long Dim buscarHoja As Boolean On Error Resume Next buscarHoja = (Worksheets("HojaNombres").Name "") If buscarHoja = False Then Sheets.Add before:=Sheets(1) End If ActiveSheet.Name = "HojaNombres" Sheets("HojaNombres").Activate Sheets("HojaNombres").Cells.Select Selection.ClearContents For i = 1 To Sheets.Count Sheets("HojaNombres").Range("A" & i).Value = Sheets(i).Name 'Nombre de la hoja Next i End Sub Sub Renombra_Hojas() Dim i As Long Dim buscarHoja As Boolean Dim nombreHoja As String On Error Resume Next buscarHoja = Worksheets("HojaNombres").Name "" If buscarHoja = False Then Sheets.Add before:=Sheets(1) End If ActiveSheet.Name = "HojaNombres" ActiveSheet.Range("A1").Activate Do While Not IsEmpty(ActiveCell) nombreHoja = ActiveCell.Value Sheets(nombreHoja).Name = ActiveCell.Offset(0, 1).Value ActiveCell.Offset(1, 0).Activate Loop For i = 1 To Sheets.Count Sheets("HojaNombres").Range("A" & i).Value = Sheets(i).Name Next i End Sub
Hola Jesús, buen día EXCELENTE APORTE. Es una herramienta poderosa nos ayuda a optimizar el tiempo de trabajo cuando debemos modificar múltiples hoja. GARCIAS CAPO!
Necesito copiar contenido de una hoja, pegarlo en una nueva hoja y luego cambiar el nombre de la hoja nueva por el nombre de una celda de esa misma hoja, me puede ayudar?
Buen DIa Jesus, Gracias por compartir, la use y me funciono perfectamente, solo que para la aplicación que tengo necesito que la primer columna (A) que es la correspondiente al nombre actual de las pestanas se quede fija y la segunda columna (B) que sera a la que las pestanas cambiaran el nombre cambie continuamente de tal forma que el macro "ExtraerNombreDeHojas" sea fijo y el macro "Renombra_Hojas" sea ejecutable por medio de un boton para solo ejecutarse este ultimo macro.Espero me puedas ayudar, Saludos desde Mexico.
por favor no he podido he seguido los pasos y algo sale mal me dice que debo escoger el archivo para guardar y escojo xlsm, pero no me funciona .me puede dar el código de nuevo. gracias
Hola Jesús, estoy haciendo un control de asistencia, que debo presentar cada sábado de cada mes... es posible que con alguna fórmula yo pueda poner la fecha del sabado proximo que tendría que trabajar, cada vez que yo abro el documento tengo la formula =hoy() para que me de la fecha del momento... pero tengo otra casilla que dice "Clase: Sábado XX de octubre" por ejemplo... hay alguna formula que me de la fecha de ese sabado siguiente? Ademas tengo un macro con un botón que me crea una Lista de assitencia nueva... pero me gustaría ver si en ese mismo macro se le puede cambiar el nombre a la hoja con la fecha al sabado que corresponde. Gracias de antemano
Hola. Me Ocurre lo siguiente, me cambia bien el 90 % de las hojas, pero aún no he descubierto porque algunas hojas las deja con el numero, a pesar que en la lista que se genera con la macro sale bien. Alguna idea?
Hola, necesito una macro que al cliquear un botón que está en la hoja 1 cree automáticamente una nueva hoja y la nombre con el contenido de una casilla de la misma hoja 1 dónde está el botón de la macro. Se puede hacer algo así ?
Hola Pablo, hay varios comentarios donde se encuentra el código, aquí va nuevamente: Sub ExtraerNombreDeHojas() 'Macro para extraer los nombres de las hojas del archivo Dim i As Long Dim buscarHoja As Boolean On Error Resume Next buscarHoja = (Worksheets("HojaNombres").Name "") If buscarHoja = False Then Sheets.Add before:=Sheets(1) End If ActiveSheet.Name = "HojaNombres" Sheets("HojaNombres").Activate Sheets("HojaNombres").Cells.Select Selection.ClearContents For i = 1 To Sheets.Count Sheets("HojaNombres").Range("A" & i).Value = Sheets(i).Name 'Nombre de la hoja Next i End Sub Sub Renombra_Hojas() Dim i As Long Dim buscarHoja As Boolean Dim nombreHoja As String On Error Resume Next buscarHoja = Worksheets("HojaNombres").Name "" If buscarHoja = False Then Sheets.Add before:=Sheets(1) End If ActiveSheet.Name = "HojaNombres" ActiveSheet.Range("A1").Activate Do While Not IsEmpty(ActiveCell) nombreHoja = ActiveCell.Value Sheets(nombreHoja).Name = ActiveCell.Offset(0, 1).Value ActiveCell.Offset(1, 0).Activate Loop For i = 1 To Sheets.Count Sheets("HojaNombres").Range("A" & i).Value = Sheets(i).Name Next i End Sub
Aquí va el código nuevamente: Sub ExtraerNombreDeHojas() 'Macro para extraer los nombres de las hojas del archivo Dim i As Long Dim buscarHoja As Boolean On Error Resume Next buscarHoja = (Worksheets("HojaNombres").Name "") If buscarHoja = False Then Sheets.Add before:=Sheets(1) End If ActiveSheet.Name = "HojaNombres" Sheets("HojaNombres").Activate Sheets("HojaNombres").Cells.Select Selection.ClearContents For i = 1 To Sheets.Count Sheets("HojaNombres").Range("A" & i).Value = Sheets(i).Name 'Nombre de la hoja Next i End Sub Sub Renombra_Hojas() Dim i As Long Dim buscarHoja As Boolean Dim nombreHoja As String On Error Resume Next buscarHoja = Worksheets("HojaNombres").Name "" If buscarHoja = False Then Sheets.Add before:=Sheets(1) End If ActiveSheet.Name = "HojaNombres" ActiveSheet.Range("A1").Activate Do While Not IsEmpty(ActiveCell) nombreHoja = ActiveCell.Value Sheets(nombreHoja).Name = ActiveCell.Offset(0, 1).Value ActiveCell.Offset(1, 0).Activate Loop For i = 1 To Sheets.Count Sheets("HojaNombres").Range("A" & i).Value = Sheets(i).Name Next i End Sub
Aquí va el código nuevamente: Sub ExtraerNombreDeHojas() 'Macro para extraer los nombres de las hojas del archivo Dim i As Long Dim buscarHoja As Boolean On Error Resume Next buscarHoja = (Worksheets("HojaNombres").Name "") If buscarHoja = False Then Sheets.Add before:=Sheets(1) End If ActiveSheet.Name = "HojaNombres" Sheets("HojaNombres").Activate Sheets("HojaNombres").Cells.Select Selection.ClearContents For i = 1 To Sheets.Count Sheets("HojaNombres").Range("A" & i).Value = Sheets(i).Name 'Nombre de la hoja Next i End Sub Sub Renombra_Hojas() Dim i As Long Dim buscarHoja As Boolean Dim nombreHoja As String On Error Resume Next buscarHoja = Worksheets("HojaNombres").Name "" If buscarHoja = False Then Sheets.Add before:=Sheets(1) End If ActiveSheet.Name = "HojaNombres" ActiveSheet.Range("A1").Activate Do While Not IsEmpty(ActiveCell) nombreHoja = ActiveCell.Value Sheets(nombreHoja).Name = ActiveCell.Offset(0, 1).Value ActiveCell.Offset(1, 0).Activate Loop For i = 1 To Sheets.Count Sheets("HojaNombres").Range("A" & i).Value = Sheets(i).Name Next i End Sub
Excelente explicación,ahora bien,Tengo una macro para renombrar hoja a medida que la voy creando a partir del contenido de una celda especifica,que debo agregarle al código para que salga un msgbox,cuando ese nombre ya existe? Sub renombrar() ActiveSheet.Range("A8").Activate Do While Not IsEmpty(ActiveCell) Nombre_Hoja_Nueva = ActiveCell.Offset(0, 8).Value ActiveSheet.Name = Range("A8") Set Target = Range("A8") If Target = "" Then Exit Sub Exit Sub Loop End Sub
@ruben rivera buen día, aquí va::: Aquí va el código nuevamente: Sub ExtraerNombreDeHojas() 'Macro para extraer los nombres de las hojas del archivo Dim i As Long Dim buscarHoja As Boolean On Error Resume Next buscarHoja = (Worksheets("HojaNombres").Name "") If buscarHoja = False Then Sheets.Add before:=Sheets(1) End If ActiveSheet.Name = "HojaNombres" Sheets("HojaNombres").Activate Sheets("HojaNombres").Cells.Select Selection.ClearContents For i = 1 To Sheets.Count Sheets("HojaNombres").Range("A" & i).Value = Sheets(i).Name 'Nombre de la hoja Next i End Sub Sub Renombra_Hojas() Dim i As Long Dim buscarHoja As Boolean Dim nombreHoja As String On Error Resume Next buscarHoja = Worksheets("HojaNombres").Name "" If buscarHoja = False Then Sheets.Add before:=Sheets(1) End If ActiveSheet.Name = "HojaNombres" ActiveSheet.Range("A1").Activate Do While Not IsEmpty(ActiveCell) nombreHoja = ActiveCell.Value Sheets(nombreHoja).Name = ActiveCell.Offset(0, 1).Value ActiveCell.Offset(1, 0).Activate Loop For i = 1 To Sheets.Count Sheets("HojaNombres").Range("A" & i).Value = Sheets(i).Name Next i End Sub
algo hice mal, pues solamente me pone en una hoja los nombres de las hojas, pero no puedo salvar las hojas en archivos separados, eso estaba esperando.
ah, perdon. No puedo cambiar los nombres de las hojas, solo me da la lsita de los nombres, pero la segunda parte no la hace. ni modo. gracias de todas formas.
Hola Hamzzy, aqui va nuevamente la macro: Sub ExtraerNombreDeHojas() 'Macro para extraer los nombres de las hojas del archivo Dim i As Long Dim buscarHoja As Boolean On Error Resume Next buscarHoja = (Worksheets("HojaNombres").Name "") If buscarHoja = False Then Sheets.Add before:=Sheets(1) End If ActiveSheet.Name = "HojaNombres" Sheets("HojaNombres").Activate Sheets("HojaNombres").Cells.Select Selection.ClearContents For i = 1 To Sheets.Count Sheets("HojaNombres").Range("A" & i).Value = Sheets(i).Name 'Nombre de la hoja Next i End Sub Sub Renombra_Hojas() Dim i As Long Dim buscarHoja As Boolean Dim nombreHoja As String On Error Resume Next buscarHoja = Worksheets("HojaNombres").Name "" If buscarHoja = False Then Sheets.Add before:=Sheets(1) End If ActiveSheet.Name = "HojaNombres" ActiveSheet.Range("A1").Activate Do While Not IsEmpty(ActiveCell) nombreHoja = ActiveCell.Value Sheets(nombreHoja).Name = ActiveCell.Offset(0, 1).Value ActiveCell.Offset(1, 0).Activate Loop For i = 1 To Sheets.Count Sheets("HojaNombres").Range("A" & i).Value = Sheets(i).Name Next i End Sub
Aquí va el código nuevamente: Sub ExtraerNombreDeHojas() 'Macro para extraer los nombres de las hojas del archivo Dim i As Long Dim buscarHoja As Boolean On Error Resume Next buscarHoja = (Worksheets("HojaNombres").Name "") If buscarHoja = False Then Sheets.Add before:=Sheets(1) End If ActiveSheet.Name = "HojaNombres" Sheets("HojaNombres").Activate Sheets("HojaNombres").Cells.Select Selection.ClearContents For i = 1 To Sheets.Count Sheets("HojaNombres").Range("A" & i).Value = Sheets(i).Name 'Nombre de la hoja Next i End Sub Sub Renombra_Hojas() Dim i As Long Dim buscarHoja As Boolean Dim nombreHoja As String On Error Resume Next buscarHoja = Worksheets("HojaNombres").Name "" If buscarHoja = False Then Sheets.Add before:=Sheets(1) End If ActiveSheet.Name = "HojaNombres" ActiveSheet.Range("A1").Activate Do While Not IsEmpty(ActiveCell) nombreHoja = ActiveCell.Value Sheets(nombreHoja).Name = ActiveCell.Offset(0, 1).Value ActiveCell.Offset(1, 0).Activate Loop For i = 1 To Sheets.Count Sheets("HojaNombres").Range("A" & i).Value = Sheets(i).Name Next i End Sub
Aquí va el código nuevamente: Sub ExtraerNombreDeHojas() 'Macro para extraer los nombres de las hojas del archivo Dim i As Long Dim buscarHoja As Boolean On Error Resume Next buscarHoja = (Worksheets("HojaNombres").Name "") If buscarHoja = False Then Sheets.Add before:=Sheets(1) End If ActiveSheet.Name = "HojaNombres" Sheets("HojaNombres").Activate Sheets("HojaNombres").Cells.Select Selection.ClearContents For i = 1 To Sheets.Count Sheets("HojaNombres").Range("A" & i).Value = Sheets(i).Name 'Nombre de la hoja Next i End Sub Sub Renombra_Hojas() Dim i As Long Dim buscarHoja As Boolean Dim nombreHoja As String On Error Resume Next buscarHoja = Worksheets("HojaNombres").Name "" If buscarHoja = False Then Sheets.Add before:=Sheets(1) End If ActiveSheet.Name = "HojaNombres" ActiveSheet.Range("A1").Activate Do While Not IsEmpty(ActiveCell) nombreHoja = ActiveCell.Value Sheets(nombreHoja).Name = ActiveCell.Offset(0, 1).Value ActiveCell.Offset(1, 0).Activate Loop For i = 1 To Sheets.Count Sheets("HojaNombres").Range("A" & i).Value = Sheets(i).Name Next i End Sub
Hola, aquí va: Aquí va el código nuevamente: Sub ExtraerNombreDeHojas() 'Macro para extraer los nombres de las hojas del archivo Dim i As Long Dim buscarHoja As Boolean On Error Resume Next buscarHoja = (Worksheets("HojaNombres").Name "") If buscarHoja = False Then Sheets.Add before:=Sheets(1) End If ActiveSheet.Name = "HojaNombres" Sheets("HojaNombres").Activate Sheets("HojaNombres").Cells.Select Selection.ClearContents For i = 1 To Sheets.Count Sheets("HojaNombres").Range("A" & i).Value = Sheets(i).Name 'Nombre de la hoja Next i End Sub Sub Renombra_Hojas() Dim i As Long Dim buscarHoja As Boolean Dim nombreHoja As String On Error Resume Next buscarHoja = Worksheets("HojaNombres").Name "" If buscarHoja = False Then Sheets.Add before:=Sheets(1) End If ActiveSheet.Name = "HojaNombres" ActiveSheet.Range("A1").Activate Do While Not IsEmpty(ActiveCell) nombreHoja = ActiveCell.Value Sheets(nombreHoja).Name = ActiveCell.Offset(0, 1).Value ActiveCell.Offset(1, 0).Activate Loop For i = 1 To Sheets.Count Sheets("HojaNombres").Range("A" & i).Value = Sheets(i).Name Next i End Sub
Aquí va el código nuevamente: Sub ExtraerNombreDeHojas() 'Macro para extraer los nombres de las hojas del archivo Dim i As Long Dim buscarHoja As Boolean On Error Resume Next buscarHoja = (Worksheets("HojaNombres").Name "") If buscarHoja = False Then Sheets.Add before:=Sheets(1) End If ActiveSheet.Name = "HojaNombres" Sheets("HojaNombres").Activate Sheets("HojaNombres").Cells.Select Selection.ClearContents For i = 1 To Sheets.Count Sheets("HojaNombres").Range("A" & i).Value = Sheets(i).Name 'Nombre de la hoja Next i End Sub Sub Renombra_Hojas() Dim i As Long Dim buscarHoja As Boolean Dim nombreHoja As String On Error Resume Next buscarHoja = Worksheets("HojaNombres").Name "" If buscarHoja = False Then Sheets.Add before:=Sheets(1) End If ActiveSheet.Name = "HojaNombres" ActiveSheet.Range("A1").Activate Do While Not IsEmpty(ActiveCell) nombreHoja = ActiveCell.Value Sheets(nombreHoja).Name = ActiveCell.Offset(0, 1).Value ActiveCell.Offset(1, 0).Activate Loop For i = 1 To Sheets.Count Sheets("HojaNombres").Range("A" & i).Value = Sheets(i).Name Next i End Sub
Hola Antonio, aquí va: Sub ExtraerNombreDeHojas() 'Macro para extraer los nombres de las hojas del archivo Dim i As Long Dim buscarHoja As Boolean On Error Resume Next buscarHoja = (Worksheets("HojaNombres").Name "") If buscarHoja = False Then Sheets.Add before:=Sheets(1) End If ActiveSheet.Name = "HojaNombres" Sheets("HojaNombres").Activate Sheets("HojaNombres").Cells.Select Selection.ClearContents For i = 1 To Sheets.Count Sheets("HojaNombres").Range("A" & i).Value = Sheets(i).Name 'Nombre de la hoja Next i End Sub Sub Renombra_Hojas() Dim i As Long Dim buscarHoja As Boolean Dim nombreHoja As String On Error Resume Next buscarHoja = Worksheets("HojaNombres").Name "" If buscarHoja = False Then Sheets.Add before:=Sheets(1) End If ActiveSheet.Name = "HojaNombres" ActiveSheet.Range("A1").Activate Do While Not IsEmpty(ActiveCell) nombreHoja = ActiveCell.Value Sheets(nombreHoja).Name = ActiveCell.Offset(0, 1).Value ActiveCell.Offset(1, 0).Activate Loop For i = 1 To Sheets.Count Sheets("HojaNombres").Range("A" & i).Value = Sheets(i).Name Next i End Sub
Hola, aquí va: Aquí va el código nuevamente: Sub ExtraerNombreDeHojas() 'Macro para extraer los nombres de las hojas del archivo Dim i As Long Dim buscarHoja As Boolean On Error Resume Next buscarHoja = (Worksheets("HojaNombres").Name "") If buscarHoja = False Then Sheets.Add before:=Sheets(1) End If ActiveSheet.Name = "HojaNombres" Sheets("HojaNombres").Activate Sheets("HojaNombres").Cells.Select Selection.ClearContents For i = 1 To Sheets.Count Sheets("HojaNombres").Range("A" & i).Value = Sheets(i).Name 'Nombre de la hoja Next i End Sub Sub Renombra_Hojas() Dim i As Long Dim buscarHoja As Boolean Dim nombreHoja As String On Error Resume Next buscarHoja = Worksheets("HojaNombres").Name "" If buscarHoja = False Then Sheets.Add before:=Sheets(1) End If ActiveSheet.Name = "HojaNombres" ActiveSheet.Range("A1").Activate Do While Not IsEmpty(ActiveCell) nombreHoja = ActiveCell.Value Sheets(nombreHoja).Name = ActiveCell.Offset(0, 1).Value ActiveCell.Offset(1, 0).Activate Loop For i = 1 To Sheets.Count Sheets("HojaNombres").Range("A" & i).Value = Sheets(i).Name Next i End Sub
Aquí va: Sub ExtraerNombreDeHojas() 'Macro para extraer los nombres de las hojas del archivo Dim i As Long Dim buscarHoja As Boolean On Error Resume Next buscarHoja = (Worksheets("HojaNombres").Name "") If buscarHoja = False Then Sheets.Add before:=Sheets(1) End If ActiveSheet.Name = "HojaNombres" Sheets("HojaNombres").Activate Sheets("HojaNombres").Cells.Select Selection.ClearContents For i = 1 To Sheets.Count Sheets("HojaNombres").Range("A" & i).Value = Sheets(i).Name 'Nombre de la hoja Next i End Sub Sub Renombra_Hojas() Dim i As Long Dim buscarHoja As Boolean Dim nombreHoja As String On Error Resume Next buscarHoja = Worksheets("HojaNombres").Name "" If buscarHoja = False Then Sheets.Add before:=Sheets(1) End If ActiveSheet.Name = "HojaNombres" ActiveSheet.Range("A1").Activate Do While Not IsEmpty(ActiveCell) nombreHoja = ActiveCell.Value Sheets(nombreHoja).Name = ActiveCell.Offset(0, 1).Value ActiveCell.Offset(1, 0).Activate Loop For i = 1 To Sheets.Count Sheets("HojaNombres").Range("A" & i).Value = Sheets(i).Name Next i End Sub
Hola María, adjunto nuevamente el código: Sub ExtraerNombreDeHojas() 'Macro para extraer los nombres de las hojas del archivo Dim i As Long Dim buscarHoja As Boolean On Error Resume Next buscarHoja = (Worksheets("HojaNombres").Name "") If buscarHoja = False Then Sheets.Add before:=Sheets(1) End If ActiveSheet.Name = "HojaNombres" Sheets("HojaNombres").Activate Sheets("HojaNombres").Cells.Select Selection.ClearContents For i = 1 To Sheets.Count Sheets("HojaNombres").Range("A" & i).Value = Sheets(i).Name 'Nombre de la hoja Next i End Sub Sub Renombra_Hojas() Dim i As Long Dim buscarHoja As Boolean Dim nombreHoja As String On Error Resume Next buscarHoja = Worksheets("HojaNombres").Name "" If buscarHoja = False Then Sheets.Add before:=Sheets(1) End If ActiveSheet.Name = "HojaNombres" ActiveSheet.Range("A1").Activate Do While Not IsEmpty(ActiveCell) nombreHoja = ActiveCell.Value Sheets(nombreHoja).Name = ActiveCell.Offset(0, 1).Value ActiveCell.Offset(1, 0).Activate Loop For i = 1 To Sheets.Count Sheets("HojaNombres").Range("A" & i).Value = Sheets(i).Name Next i End Sub
Hola María, hay dos subs en el código, uno para crear la hoja con los nombres (ExtraerNombreHojas) y otro para renombrar las hojas con base en esa lista del primer sub (RenombrarHojas). Necesitas dar f5, eso corre el primer sub, pero despues poner el cursor (dar click) en alguna linea del código del segundo sub y dar f5 para q ahora corra ese sub
Hola, disculpa la tardanza, espero te sirva en una próxima oportunidad: Sub ExtraerNombreDeHojas() 'Macro para extraer los nombres de las hojas del archivo Dim i As Long Dim buscarHoja As Boolean On Error Resume Next buscarHoja = (Worksheets("HojaNombres").Name "") If buscarHoja = False Then Sheets.Add before:=Sheets(1) End If ActiveSheet.Name = "HojaNombres" Sheets("HojaNombres").Activate Sheets("HojaNombres").Cells.Select Selection.ClearContents For i = 1 To Sheets.Count Sheets("HojaNombres").Range("A" & i).Value = Sheets(i).Name 'Nombre de la hoja Next i End Sub Sub Renombra_Hojas() Dim i As Long Dim buscarHoja As Boolean Dim nombreHoja As String On Error Resume Next buscarHoja = Worksheets("HojaNombres").Name "" If buscarHoja = False Then Sheets.Add before:=Sheets(1) End If ActiveSheet.Name = "HojaNombres" ActiveSheet.Range("A1").Activate Do While Not IsEmpty(ActiveCell) nombreHoja = ActiveCell.Value Sheets(nombreHoja).Name = ActiveCell.Offset(0, 1).Value ActiveCell.Offset(1, 0).Activate Loop For i = 1 To Sheets.Count Sheets("HojaNombres").Range("A" & i).Value = Sheets(i).Name Next i End Sub
Hola Anthony, adjunto nuevament el código: Sub ExtraerNombreDeHojas() 'Macro para extraer los nombres de las hojas del archivo Dim i As Long Dim buscarHoja As Boolean On Error Resume Next buscarHoja = (Worksheets("HojaNombres").Name "") If buscarHoja = False Then Sheets.Add before:=Sheets(1) End If ActiveSheet.Name = "HojaNombres" Sheets("HojaNombres").Activate Sheets("HojaNombres").Cells.Select Selection.ClearContents For i = 1 To Sheets.Count Sheets("HojaNombres").Range("A" & i).Value = Sheets(i).Name 'Nombre de la hoja Next i End Sub Sub Renombra_Hojas() Dim i As Long Dim buscarHoja As Boolean Dim nombreHoja As String On Error Resume Next buscarHoja = Worksheets("HojaNombres").Name "" If buscarHoja = False Then Sheets.Add before:=Sheets(1) End If ActiveSheet.Name = "HojaNombres" ActiveSheet.Range("A1").Activate Do While Not IsEmpty(ActiveCell) nombreHoja = ActiveCell.Value Sheets(nombreHoja).Name = ActiveCell.Offset(0, 1).Value ActiveCell.Offset(1, 0).Activate Loop For i = 1 To Sheets.Count Sheets("HojaNombres").Range("A" & i).Value = Sheets(i).Name Next i End Sub
Aquí va el código nuevamente: Sub ExtraerNombreDeHojas() 'Macro para extraer los nombres de las hojas del archivo Dim i As Long Dim buscarHoja As Boolean On Error Resume Next buscarHoja = (Worksheets("HojaNombres").Name "") If buscarHoja = False Then Sheets.Add before:=Sheets(1) End If ActiveSheet.Name = "HojaNombres" Sheets("HojaNombres").Activate Sheets("HojaNombres").Cells.Select Selection.ClearContents For i = 1 To Sheets.Count Sheets("HojaNombres").Range("A" & i).Value = Sheets(i).Name 'Nombre de la hoja Next i End Sub Sub Renombra_Hojas() Dim i As Long Dim buscarHoja As Boolean Dim nombreHoja As String On Error Resume Next buscarHoja = Worksheets("HojaNombres").Name "" If buscarHoja = False Then Sheets.Add before:=Sheets(1) End If ActiveSheet.Name = "HojaNombres" ActiveSheet.Range("A1").Activate Do While Not IsEmpty(ActiveCell) nombreHoja = ActiveCell.Value Sheets(nombreHoja).Name = ActiveCell.Offset(0, 1).Value ActiveCell.Offset(1, 0).Activate Loop For i = 1 To Sheets.Count Sheets("HojaNombres").Range("A" & i).Value = Sheets(i).Name Next i End Sub
@@Macroexcelaton muchas gracias por tu trabajo y tus codigos, en lo personal me apoyaron mucho tiempo en mi estadía en una gran empresa internacional y ahora en mi nuevo trabajo acudo a tu video para reforzar la eficiencia de mis tareas . GRACIAS
Aquí va el código nuevamente:
Sub ExtraerNombreDeHojas() 'Macro para extraer los nombres de las hojas del archivo
Dim i As Long
Dim buscarHoja As Boolean
On Error Resume Next
buscarHoja = (Worksheets("HojaNombres").Name "")
If buscarHoja = False Then
Sheets.Add before:=Sheets(1)
End If
ActiveSheet.Name = "HojaNombres"
Sheets("HojaNombres").Activate
Sheets("HojaNombres").Cells.Select
Selection.ClearContents
For i = 1 To Sheets.Count
Sheets("HojaNombres").Range("A" & i).Value = Sheets(i).Name 'Nombre de la hoja
Next i
End Sub
Sub Renombra_Hojas()
Dim i As Long
Dim buscarHoja As Boolean
Dim nombreHoja As String
On Error Resume Next
buscarHoja = Worksheets("HojaNombres").Name ""
If buscarHoja = False Then
Sheets.Add before:=Sheets(1)
End If
ActiveSheet.Name = "HojaNombres"
ActiveSheet.Range("A1").Activate
Do While Not IsEmpty(ActiveCell)
nombreHoja = ActiveCell.Value
Sheets(nombreHoja).Name = ActiveCell.Offset(0, 1).Value
ActiveCell.Offset(1, 0).Activate
Loop
For i = 1 To Sheets.Count
Sheets("HojaNombres").Range("A" & i).Value = Sheets(i).Name
Next i
End Sub
por favor proporcionar codigo, gracias
@@rubenrivera3787 buen día, aquí va:::
Aquí va el código nuevamente:
Sub ExtraerNombreDeHojas() 'Macro para extraer los nombres de las hojas del archivo
Dim i As Long
Dim buscarHoja As Boolean
On Error Resume Next
buscarHoja = (Worksheets("HojaNombres").Name "")
If buscarHoja = False Then
Sheets.Add before:=Sheets(1)
End If
ActiveSheet.Name = "HojaNombres"
Sheets("HojaNombres").Activate
Sheets("HojaNombres").Cells.Select
Selection.ClearContents
For i = 1 To Sheets.Count
Sheets("HojaNombres").Range("A" & i).Value = Sheets(i).Name 'Nombre de la hoja
Next i
End Sub
Sub Renombra_Hojas()
Dim i As Long
Dim buscarHoja As Boolean
Dim nombreHoja As String
On Error Resume Next
buscarHoja = Worksheets("HojaNombres").Name ""
If buscarHoja = False Then
Sheets.Add before:=Sheets(1)
End If
ActiveSheet.Name = "HojaNombres"
ActiveSheet.Range("A1").Activate
Do While Not IsEmpty(ActiveCell)
nombreHoja = ActiveCell.Value
Sheets(nombreHoja).Name = ActiveCell.Offset(0, 1).Value
ActiveCell.Offset(1, 0).Activate
Loop
For i = 1 To Sheets.Count
Sheets("HojaNombres").Range("A" & i).Value = Sheets(i).Name
Next i
End Sub
Hola Jesús, buen día EXCELENTE APORTE. Es una herramienta poderosa nos ayuda a optimizar el tiempo de trabajo cuando debemos modificar múltiples hoja. GARCIAS CAPO!
Sos un genio. Excelente aporte, preciso y prolijo. Gracias y bendiciones 🙏🙏🙏
Excelente aporte, me ahorro mucho tiempo!!
mil gracias, lo estaba intentando, pero no lo lograba hacer, fue de mucha ayuda
Fabuloso!!! Mucha ayuda fue tu vídeo para mi trabajo. Gracias de verdad!
Excelente y muy practico GRACIAS......
Impresionante! muchas gracias !
Excelente herramienta Jesús, mil gracias.
TE AMOOOO!!!! 30,000 XML POR RENOMBRAR EN MINUTOS GRACIAS A TI!!!
EXCELENTE, PUDE CREAR LA MACRO Y LE AÑADI EL RENOMBRAR HOJAS, NUEVO SUB
Excelente aporte, gracias
gracias amigo. eres el mejor
Gracias, es de gran ayuda.
Buff... me has salvado la vida!!!!
Perfecto, muchas gracias!!!
increible el tiempo que me as ahorrado
Excelente, me funciono perfeccto
Gracias me ayudo mucho
Gracias
GRACIAS EXCELENTE ME SALVASTE
FUE MUY UTIL. NO SE PORQUE NO GUARDA LA MACRO SINO QUE ME TOCS EJECUTAR DESDE VISUAL BASIC PERO FUNCIONÓ
Hola, no esta publicado el link para descargar la macro. Gracias!
Muy buen material.
perfecto!!!! A la primera....
Necesito copiar contenido de una hoja, pegarlo en una nueva hoja y luego cambiar el nombre de la hoja nueva por el nombre de una celda de esa misma hoja, me puede ayudar?
Buen DIa Jesus, Gracias por compartir, la use y me funciono perfectamente, solo que para la aplicación que tengo necesito que la primer columna (A) que es la correspondiente al nombre actual de las pestanas se quede fija y la segunda columna (B) que sera a la que las pestanas cambiaran el nombre cambie continuamente de tal forma que el macro "ExtraerNombreDeHojas" sea fijo y el macro "Renombra_Hojas" sea ejecutable por medio de un boton para solo ejecutarse este ultimo macro.Espero me puedas ayudar, Saludos desde Mexico.
por favor
no he podido he seguido los pasos y algo sale mal me dice que debo escoger el archivo para guardar y escojo xlsm, pero no me funciona .me puede dar el código de nuevo.
gracias
Saludos Jesús, no encuentro el codigo me la puedes enviar te lo agradezco
Gracias x el video, si pudieras dejar tu comentario fijado con el codigo para no tener q buscar comentarios a los q les hayas respondido, gracias xd
¿Porque al comprtir el documento no funcionan las macros?
Me puedes ayudar para cambiar el nombre de una hoja por medio de un inputbox.
Hola Jesús, estoy haciendo un control de asistencia, que debo presentar cada sábado de cada mes... es posible que con alguna fórmula yo pueda poner la fecha del sabado proximo que tendría que trabajar, cada vez que yo abro el documento tengo la formula =hoy() para que me de la fecha del momento... pero tengo otra casilla que dice "Clase: Sábado XX de octubre" por ejemplo... hay alguna formula que me de la fecha de ese sabado siguiente?
Ademas tengo un macro con un botón que me crea una Lista de assitencia nueva... pero me gustaría ver si en ese mismo macro se le puede cambiar el nombre a la hoja con la fecha al sabado que corresponde.
Gracias de antemano
o donde la puedo encontrar
super me ayudo mucho el video pero tengo una duda ese proceso se debe hacer cada vez que se crea un nuevo excel
Hola Gina, puedes crear un archivo base y guardarlo con extensión xlsm y utilizarlo cuando quieras
Hola.
Me Ocurre lo siguiente, me cambia bien el 90 % de las hojas, pero aún no he descubierto porque algunas hojas las deja con el numero, a pesar que en la lista que se genera con la macro sale bien.
Alguna idea?
me pasó lo mismo y no logré entender por qué, por suerte fueron las 10 primeras hojas que pude modificar manualmente
Hola, si tengo una x cantidad de carpetas con nombres como puedo llevar esos nombre para cada hoja del libro e Excel ? Gracias
Muy bien
Hola, necesito una macro que al cliquear un botón que está en la hoja 1 cree automáticamente una nueva hoja y la nombre con el contenido de una casilla de la misma hoja 1 dónde está el botón de la macro.
Se puede hacer algo así ?
Hola Ricardo. Mira este vídeo th-cam.com/video/YUz28jrqeQU/w-d-xo.html
como hacer que funcione con fechas?
Hola amigo si dice que va dejar el codigo dejelo pero no hable macumba y no deja nada
Hola Pablo, hay varios comentarios donde se encuentra el código, aquí va nuevamente:
Sub ExtraerNombreDeHojas() 'Macro para extraer los nombres de las hojas del archivo
Dim i As Long
Dim buscarHoja As Boolean
On Error Resume Next
buscarHoja = (Worksheets("HojaNombres").Name "")
If buscarHoja = False Then
Sheets.Add before:=Sheets(1)
End If
ActiveSheet.Name = "HojaNombres"
Sheets("HojaNombres").Activate
Sheets("HojaNombres").Cells.Select
Selection.ClearContents
For i = 1 To Sheets.Count
Sheets("HojaNombres").Range("A" & i).Value = Sheets(i).Name 'Nombre de la hoja
Next i
End Sub
Sub Renombra_Hojas()
Dim i As Long
Dim buscarHoja As Boolean
Dim nombreHoja As String
On Error Resume Next
buscarHoja = Worksheets("HojaNombres").Name ""
If buscarHoja = False Then
Sheets.Add before:=Sheets(1)
End If
ActiveSheet.Name = "HojaNombres"
ActiveSheet.Range("A1").Activate
Do While Not IsEmpty(ActiveCell)
nombreHoja = ActiveCell.Value
Sheets(nombreHoja).Name = ActiveCell.Offset(0, 1).Value
ActiveCell.Offset(1, 0).Activate
Loop
For i = 1 To Sheets.Count
Sheets("HojaNombres").Range("A" & i).Value = Sheets(i).Name
Next i
End Sub
COMO HAGO PARA ENCONTRAR EL CÓDIGO QUE ME DEJA EN COMENTARIOS PARA PODER HACER EL PROCESO
Aquí va el código nuevamente:
Sub ExtraerNombreDeHojas() 'Macro para extraer los nombres de las hojas del archivo
Dim i As Long
Dim buscarHoja As Boolean
On Error Resume Next
buscarHoja = (Worksheets("HojaNombres").Name "")
If buscarHoja = False Then
Sheets.Add before:=Sheets(1)
End If
ActiveSheet.Name = "HojaNombres"
Sheets("HojaNombres").Activate
Sheets("HojaNombres").Cells.Select
Selection.ClearContents
For i = 1 To Sheets.Count
Sheets("HojaNombres").Range("A" & i).Value = Sheets(i).Name 'Nombre de la hoja
Next i
End Sub
Sub Renombra_Hojas()
Dim i As Long
Dim buscarHoja As Boolean
Dim nombreHoja As String
On Error Resume Next
buscarHoja = Worksheets("HojaNombres").Name ""
If buscarHoja = False Then
Sheets.Add before:=Sheets(1)
End If
ActiveSheet.Name = "HojaNombres"
ActiveSheet.Range("A1").Activate
Do While Not IsEmpty(ActiveCell)
nombreHoja = ActiveCell.Value
Sheets(nombreHoja).Name = ActiveCell.Offset(0, 1).Value
ActiveCell.Offset(1, 0).Activate
Loop
For i = 1 To Sheets.Count
Sheets("HojaNombres").Range("A" & i).Value = Sheets(i).Name
Next i
End Sub
Jesus, tienes un email? quiero mostrarte mi agradecimiento.
¿dónde puedo encontrar el código?
Muchas gracias!
Aquí va el código nuevamente:
Sub ExtraerNombreDeHojas() 'Macro para extraer los nombres de las hojas del archivo
Dim i As Long
Dim buscarHoja As Boolean
On Error Resume Next
buscarHoja = (Worksheets("HojaNombres").Name "")
If buscarHoja = False Then
Sheets.Add before:=Sheets(1)
End If
ActiveSheet.Name = "HojaNombres"
Sheets("HojaNombres").Activate
Sheets("HojaNombres").Cells.Select
Selection.ClearContents
For i = 1 To Sheets.Count
Sheets("HojaNombres").Range("A" & i).Value = Sheets(i).Name 'Nombre de la hoja
Next i
End Sub
Sub Renombra_Hojas()
Dim i As Long
Dim buscarHoja As Boolean
Dim nombreHoja As String
On Error Resume Next
buscarHoja = Worksheets("HojaNombres").Name ""
If buscarHoja = False Then
Sheets.Add before:=Sheets(1)
End If
ActiveSheet.Name = "HojaNombres"
ActiveSheet.Range("A1").Activate
Do While Not IsEmpty(ActiveCell)
nombreHoja = ActiveCell.Value
Sheets(nombreHoja).Name = ActiveCell.Offset(0, 1).Value
ActiveCell.Offset(1, 0).Activate
Loop
For i = 1 To Sheets.Count
Sheets("HojaNombres").Range("A" & i).Value = Sheets(i).Name
Next i
End Sub
Me sale error de compilacio
Excelente explicación,ahora bien,Tengo una macro para renombrar hoja a medida que la voy creando a partir del contenido de una celda especifica,que debo agregarle al código para que salga un msgbox,cuando ese nombre ya existe?
Sub renombrar()
ActiveSheet.Range("A8").Activate
Do While Not IsEmpty(ActiveCell)
Nombre_Hoja_Nueva = ActiveCell.Offset(0, 8).Value
ActiveSheet.Name = Range("A8")
Set Target = Range("A8")
If Target = "" Then Exit Sub
Exit Sub
Loop
End Sub
te AMOO
Me puedes explicar esta variable Nombre_Hoja_Nueva = ActiveCell.Offset(0, 8).Value
hola buenas. la macros lo a eliminado? donde puedo encontrar
@ruben rivera buen día, aquí va:::
Aquí va el código nuevamente:
Sub ExtraerNombreDeHojas() 'Macro para extraer los nombres de las hojas del archivo
Dim i As Long
Dim buscarHoja As Boolean
On Error Resume Next
buscarHoja = (Worksheets("HojaNombres").Name "")
If buscarHoja = False Then
Sheets.Add before:=Sheets(1)
End If
ActiveSheet.Name = "HojaNombres"
Sheets("HojaNombres").Activate
Sheets("HojaNombres").Cells.Select
Selection.ClearContents
For i = 1 To Sheets.Count
Sheets("HojaNombres").Range("A" & i).Value = Sheets(i).Name 'Nombre de la hoja
Next i
End Sub
Sub Renombra_Hojas()
Dim i As Long
Dim buscarHoja As Boolean
Dim nombreHoja As String
On Error Resume Next
buscarHoja = Worksheets("HojaNombres").Name ""
If buscarHoja = False Then
Sheets.Add before:=Sheets(1)
End If
ActiveSheet.Name = "HojaNombres"
ActiveSheet.Range("A1").Activate
Do While Not IsEmpty(ActiveCell)
nombreHoja = ActiveCell.Value
Sheets(nombreHoja).Name = ActiveCell.Offset(0, 1).Value
ActiveCell.Offset(1, 0).Activate
Loop
For i = 1 To Sheets.Count
Sheets("HojaNombres").Range("A" & i).Value = Sheets(i).Name
Next i
End Sub
hola que tal, de donde puedo descargar el codigo de la macro
¿Has encontrado dónde está el código?
algo hice mal, pues solamente me pone en una hoja los nombres de las hojas, pero no puedo salvar las hojas en archivos separados, eso estaba esperando.
ah, perdon. No puedo cambiar los nombres de las hojas, solo me da la lsita de los nombres, pero la segunda parte no la hace. ni modo. gracias de todas formas.
Hola Hamzzy, aqui va nuevamente la macro:
Sub ExtraerNombreDeHojas() 'Macro para extraer los nombres de las hojas del archivo
Dim i As Long
Dim buscarHoja As Boolean
On Error Resume Next
buscarHoja = (Worksheets("HojaNombres").Name "")
If buscarHoja = False Then
Sheets.Add before:=Sheets(1)
End If
ActiveSheet.Name = "HojaNombres"
Sheets("HojaNombres").Activate
Sheets("HojaNombres").Cells.Select
Selection.ClearContents
For i = 1 To Sheets.Count
Sheets("HojaNombres").Range("A" & i).Value = Sheets(i).Name 'Nombre de la hoja
Next i
End Sub
Sub Renombra_Hojas()
Dim i As Long
Dim buscarHoja As Boolean
Dim nombreHoja As String
On Error Resume Next
buscarHoja = Worksheets("HojaNombres").Name ""
If buscarHoja = False Then
Sheets.Add before:=Sheets(1)
End If
ActiveSheet.Name = "HojaNombres"
ActiveSheet.Range("A1").Activate
Do While Not IsEmpty(ActiveCell)
nombreHoja = ActiveCell.Value
Sheets(nombreHoja).Name = ActiveCell.Offset(0, 1).Value
ActiveCell.Offset(1, 0).Activate
Loop
For i = 1 To Sheets.Count
Sheets("HojaNombres").Range("A" & i).Value = Sheets(i).Name
Next i
End Sub
gracias
DONDE SALE EL CODIGO DE ÑA MACRO
Gracias por la explicación, pero ¿dónde se ve el código de la macro?. Mencionas que lo dejarás en comentarios, pero no lo encuentro.
Aquí va el código nuevamente:
Sub ExtraerNombreDeHojas() 'Macro para extraer los nombres de las hojas del archivo
Dim i As Long
Dim buscarHoja As Boolean
On Error Resume Next
buscarHoja = (Worksheets("HojaNombres").Name "")
If buscarHoja = False Then
Sheets.Add before:=Sheets(1)
End If
ActiveSheet.Name = "HojaNombres"
Sheets("HojaNombres").Activate
Sheets("HojaNombres").Cells.Select
Selection.ClearContents
For i = 1 To Sheets.Count
Sheets("HojaNombres").Range("A" & i).Value = Sheets(i).Name 'Nombre de la hoja
Next i
End Sub
Sub Renombra_Hojas()
Dim i As Long
Dim buscarHoja As Boolean
Dim nombreHoja As String
On Error Resume Next
buscarHoja = Worksheets("HojaNombres").Name ""
If buscarHoja = False Then
Sheets.Add before:=Sheets(1)
End If
ActiveSheet.Name = "HojaNombres"
ActiveSheet.Range("A1").Activate
Do While Not IsEmpty(ActiveCell)
nombreHoja = ActiveCell.Value
Sheets(nombreHoja).Name = ActiveCell.Offset(0, 1).Value
ActiveCell.Offset(1, 0).Activate
Loop
For i = 1 To Sheets.Count
Sheets("HojaNombres").Range("A" & i).Value = Sheets(i).Name
Next i
End Sub
Aquí va el código nuevamente:
Sub ExtraerNombreDeHojas() 'Macro para extraer los nombres de las hojas del archivo
Dim i As Long
Dim buscarHoja As Boolean
On Error Resume Next
buscarHoja = (Worksheets("HojaNombres").Name "")
If buscarHoja = False Then
Sheets.Add before:=Sheets(1)
End If
ActiveSheet.Name = "HojaNombres"
Sheets("HojaNombres").Activate
Sheets("HojaNombres").Cells.Select
Selection.ClearContents
For i = 1 To Sheets.Count
Sheets("HojaNombres").Range("A" & i).Value = Sheets(i).Name 'Nombre de la hoja
Next i
End Sub
Sub Renombra_Hojas()
Dim i As Long
Dim buscarHoja As Boolean
Dim nombreHoja As String
On Error Resume Next
buscarHoja = Worksheets("HojaNombres").Name ""
If buscarHoja = False Then
Sheets.Add before:=Sheets(1)
End If
ActiveSheet.Name = "HojaNombres"
ActiveSheet.Range("A1").Activate
Do While Not IsEmpty(ActiveCell)
nombreHoja = ActiveCell.Value
Sheets(nombreHoja).Name = ActiveCell.Offset(0, 1).Value
ActiveCell.Offset(1, 0).Activate
Loop
For i = 1 To Sheets.Count
Sheets("HojaNombres").Range("A" & i).Value = Sheets(i).Name
Next i
End Sub
No encuentro el código.
Hola, aquí va:
Aquí va el código nuevamente:
Sub ExtraerNombreDeHojas() 'Macro para extraer los nombres de las hojas del archivo
Dim i As Long
Dim buscarHoja As Boolean
On Error Resume Next
buscarHoja = (Worksheets("HojaNombres").Name "")
If buscarHoja = False Then
Sheets.Add before:=Sheets(1)
End If
ActiveSheet.Name = "HojaNombres"
Sheets("HojaNombres").Activate
Sheets("HojaNombres").Cells.Select
Selection.ClearContents
For i = 1 To Sheets.Count
Sheets("HojaNombres").Range("A" & i).Value = Sheets(i).Name 'Nombre de la hoja
Next i
End Sub
Sub Renombra_Hojas()
Dim i As Long
Dim buscarHoja As Boolean
Dim nombreHoja As String
On Error Resume Next
buscarHoja = Worksheets("HojaNombres").Name ""
If buscarHoja = False Then
Sheets.Add before:=Sheets(1)
End If
ActiveSheet.Name = "HojaNombres"
ActiveSheet.Range("A1").Activate
Do While Not IsEmpty(ActiveCell)
nombreHoja = ActiveCell.Value
Sheets(nombreHoja).Name = ActiveCell.Offset(0, 1).Value
ActiveCell.Offset(1, 0).Activate
Loop
For i = 1 To Sheets.Count
Sheets("HojaNombres").Range("A" & i).Value = Sheets(i).Name
Next i
End Sub
donde puedo ver el código para copiarlo, por que no puedo verlo
Aquí va el código nuevamente:
Sub ExtraerNombreDeHojas() 'Macro para extraer los nombres de las hojas del archivo
Dim i As Long
Dim buscarHoja As Boolean
On Error Resume Next
buscarHoja = (Worksheets("HojaNombres").Name "")
If buscarHoja = False Then
Sheets.Add before:=Sheets(1)
End If
ActiveSheet.Name = "HojaNombres"
Sheets("HojaNombres").Activate
Sheets("HojaNombres").Cells.Select
Selection.ClearContents
For i = 1 To Sheets.Count
Sheets("HojaNombres").Range("A" & i).Value = Sheets(i).Name 'Nombre de la hoja
Next i
End Sub
Sub Renombra_Hojas()
Dim i As Long
Dim buscarHoja As Boolean
Dim nombreHoja As String
On Error Resume Next
buscarHoja = Worksheets("HojaNombres").Name ""
If buscarHoja = False Then
Sheets.Add before:=Sheets(1)
End If
ActiveSheet.Name = "HojaNombres"
ActiveSheet.Range("A1").Activate
Do While Not IsEmpty(ActiveCell)
nombreHoja = ActiveCell.Value
Sheets(nombreHoja).Name = ActiveCell.Offset(0, 1).Value
ActiveCell.Offset(1, 0).Activate
Loop
For i = 1 To Sheets.Count
Sheets("HojaNombres").Range("A" & i).Value = Sheets(i).Name
Next i
End Sub
Donde está la macro??
Hola Antonio, aquí va:
Sub ExtraerNombreDeHojas() 'Macro para extraer los nombres de las hojas del archivo
Dim i As Long
Dim buscarHoja As Boolean
On Error Resume Next
buscarHoja = (Worksheets("HojaNombres").Name "")
If buscarHoja = False Then
Sheets.Add before:=Sheets(1)
End If
ActiveSheet.Name = "HojaNombres"
Sheets("HojaNombres").Activate
Sheets("HojaNombres").Cells.Select
Selection.ClearContents
For i = 1 To Sheets.Count
Sheets("HojaNombres").Range("A" & i).Value = Sheets(i).Name 'Nombre de la hoja
Next i
End Sub
Sub Renombra_Hojas()
Dim i As Long
Dim buscarHoja As Boolean
Dim nombreHoja As String
On Error Resume Next
buscarHoja = Worksheets("HojaNombres").Name ""
If buscarHoja = False Then
Sheets.Add before:=Sheets(1)
End If
ActiveSheet.Name = "HojaNombres"
ActiveSheet.Range("A1").Activate
Do While Not IsEmpty(ActiveCell)
nombreHoja = ActiveCell.Value
Sheets(nombreHoja).Name = ActiveCell.Offset(0, 1).Value
ActiveCell.Offset(1, 0).Activate
Loop
For i = 1 To Sheets.Count
Sheets("HojaNombres").Range("A" & i).Value = Sheets(i).Name
Next i
End Sub
Gracias!
necesito el codigo
Hola, aquí va:
Aquí va el código nuevamente:
Sub ExtraerNombreDeHojas() 'Macro para extraer los nombres de las hojas del archivo
Dim i As Long
Dim buscarHoja As Boolean
On Error Resume Next
buscarHoja = (Worksheets("HojaNombres").Name "")
If buscarHoja = False Then
Sheets.Add before:=Sheets(1)
End If
ActiveSheet.Name = "HojaNombres"
Sheets("HojaNombres").Activate
Sheets("HojaNombres").Cells.Select
Selection.ClearContents
For i = 1 To Sheets.Count
Sheets("HojaNombres").Range("A" & i).Value = Sheets(i).Name 'Nombre de la hoja
Next i
End Sub
Sub Renombra_Hojas()
Dim i As Long
Dim buscarHoja As Boolean
Dim nombreHoja As String
On Error Resume Next
buscarHoja = Worksheets("HojaNombres").Name ""
If buscarHoja = False Then
Sheets.Add before:=Sheets(1)
End If
ActiveSheet.Name = "HojaNombres"
ActiveSheet.Range("A1").Activate
Do While Not IsEmpty(ActiveCell)
nombreHoja = ActiveCell.Value
Sheets(nombreHoja).Name = ActiveCell.Offset(0, 1).Value
ActiveCell.Offset(1, 0).Activate
Loop
For i = 1 To Sheets.Count
Sheets("HojaNombres").Range("A" & i).Value = Sheets(i).Name
Next i
End Sub
GRACIAS A PERO NO VEO EL CODIGO PARA COPIAR
Aquí va:
Sub ExtraerNombreDeHojas() 'Macro para extraer los nombres de las hojas del archivo
Dim i As Long
Dim buscarHoja As Boolean
On Error Resume Next
buscarHoja = (Worksheets("HojaNombres").Name "")
If buscarHoja = False Then
Sheets.Add before:=Sheets(1)
End If
ActiveSheet.Name = "HojaNombres"
Sheets("HojaNombres").Activate
Sheets("HojaNombres").Cells.Select
Selection.ClearContents
For i = 1 To Sheets.Count
Sheets("HojaNombres").Range("A" & i).Value = Sheets(i).Name 'Nombre de la hoja
Next i
End Sub
Sub Renombra_Hojas()
Dim i As Long
Dim buscarHoja As Boolean
Dim nombreHoja As String
On Error Resume Next
buscarHoja = Worksheets("HojaNombres").Name ""
If buscarHoja = False Then
Sheets.Add before:=Sheets(1)
End If
ActiveSheet.Name = "HojaNombres"
ActiveSheet.Range("A1").Activate
Do While Not IsEmpty(ActiveCell)
nombreHoja = ActiveCell.Value
Sheets(nombreHoja).Name = ActiveCell.Offset(0, 1).Value
ActiveCell.Offset(1, 0).Activate
Loop
For i = 1 To Sheets.Count
Sheets("HojaNombres").Range("A" & i).Value = Sheets(i).Name
Next i
End Sub
No se puede renombrar las hojas
Hola María, adjunto nuevamente el código:
Sub ExtraerNombreDeHojas() 'Macro para extraer los nombres de las hojas del archivo
Dim i As Long
Dim buscarHoja As Boolean
On Error Resume Next
buscarHoja = (Worksheets("HojaNombres").Name "")
If buscarHoja = False Then
Sheets.Add before:=Sheets(1)
End If
ActiveSheet.Name = "HojaNombres"
Sheets("HojaNombres").Activate
Sheets("HojaNombres").Cells.Select
Selection.ClearContents
For i = 1 To Sheets.Count
Sheets("HojaNombres").Range("A" & i).Value = Sheets(i).Name 'Nombre de la hoja
Next i
End Sub
Sub Renombra_Hojas()
Dim i As Long
Dim buscarHoja As Boolean
Dim nombreHoja As String
On Error Resume Next
buscarHoja = Worksheets("HojaNombres").Name ""
If buscarHoja = False Then
Sheets.Add before:=Sheets(1)
End If
ActiveSheet.Name = "HojaNombres"
ActiveSheet.Range("A1").Activate
Do While Not IsEmpty(ActiveCell)
nombreHoja = ActiveCell.Value
Sheets(nombreHoja).Name = ActiveCell.Offset(0, 1).Value
ActiveCell.Offset(1, 0).Activate
Loop
For i = 1 To Sheets.Count
Sheets("HojaNombres").Range("A" & i).Value = Sheets(i).Name
Next i
End Sub
@@Macroexcelaton ese es solo para extraer, no para RENOMBRAR
Hola María, hay dos subs en el código, uno para crear la hoja con los nombres (ExtraerNombreHojas) y otro para renombrar las hojas con base en esa lista del primer sub (RenombrarHojas). Necesitas dar f5, eso corre el primer sub, pero despues poner el cursor (dar click) en alguna linea del código del segundo sub y dar f5 para q ahora corra ese sub
como?
Hola, disculpa la tardanza, espero te sirva en una próxima oportunidad:
Sub ExtraerNombreDeHojas() 'Macro para extraer los nombres de las hojas del archivo
Dim i As Long
Dim buscarHoja As Boolean
On Error Resume Next
buscarHoja = (Worksheets("HojaNombres").Name "")
If buscarHoja = False Then
Sheets.Add before:=Sheets(1)
End If
ActiveSheet.Name = "HojaNombres"
Sheets("HojaNombres").Activate
Sheets("HojaNombres").Cells.Select
Selection.ClearContents
For i = 1 To Sheets.Count
Sheets("HojaNombres").Range("A" & i).Value = Sheets(i).Name 'Nombre de la hoja
Next i
End Sub
Sub Renombra_Hojas()
Dim i As Long
Dim buscarHoja As Boolean
Dim nombreHoja As String
On Error Resume Next
buscarHoja = Worksheets("HojaNombres").Name ""
If buscarHoja = False Then
Sheets.Add before:=Sheets(1)
End If
ActiveSheet.Name = "HojaNombres"
ActiveSheet.Range("A1").Activate
Do While Not IsEmpty(ActiveCell)
nombreHoja = ActiveCell.Value
Sheets(nombreHoja).Name = ActiveCell.Offset(0, 1).Value
ActiveCell.Offset(1, 0).Activate
Loop
For i = 1 To Sheets.Count
Sheets("HojaNombres").Range("A" & i).Value = Sheets(i).Name
Next i
End Sub
@@Macroexcelaton ñ
FD
Hola Anthony, adjunto nuevament el código:
Sub ExtraerNombreDeHojas() 'Macro para extraer los nombres de las hojas del archivo
Dim i As Long
Dim buscarHoja As Boolean
On Error Resume Next
buscarHoja = (Worksheets("HojaNombres").Name "")
If buscarHoja = False Then
Sheets.Add before:=Sheets(1)
End If
ActiveSheet.Name = "HojaNombres"
Sheets("HojaNombres").Activate
Sheets("HojaNombres").Cells.Select
Selection.ClearContents
For i = 1 To Sheets.Count
Sheets("HojaNombres").Range("A" & i).Value = Sheets(i).Name 'Nombre de la hoja
Next i
End Sub
Sub Renombra_Hojas()
Dim i As Long
Dim buscarHoja As Boolean
Dim nombreHoja As String
On Error Resume Next
buscarHoja = Worksheets("HojaNombres").Name ""
If buscarHoja = False Then
Sheets.Add before:=Sheets(1)
End If
ActiveSheet.Name = "HojaNombres"
ActiveSheet.Range("A1").Activate
Do While Not IsEmpty(ActiveCell)
nombreHoja = ActiveCell.Value
Sheets(nombreHoja).Name = ActiveCell.Offset(0, 1).Value
ActiveCell.Offset(1, 0).Activate
Loop
For i = 1 To Sheets.Count
Sheets("HojaNombres").Range("A" & i).Value = Sheets(i).Name
Next i
End Sub
No me sirvió de nada no encontré el código
Aquí va el código nuevamente:
Sub ExtraerNombreDeHojas() 'Macro para extraer los nombres de las hojas del archivo
Dim i As Long
Dim buscarHoja As Boolean
On Error Resume Next
buscarHoja = (Worksheets("HojaNombres").Name "")
If buscarHoja = False Then
Sheets.Add before:=Sheets(1)
End If
ActiveSheet.Name = "HojaNombres"
Sheets("HojaNombres").Activate
Sheets("HojaNombres").Cells.Select
Selection.ClearContents
For i = 1 To Sheets.Count
Sheets("HojaNombres").Range("A" & i).Value = Sheets(i).Name 'Nombre de la hoja
Next i
End Sub
Sub Renombra_Hojas()
Dim i As Long
Dim buscarHoja As Boolean
Dim nombreHoja As String
On Error Resume Next
buscarHoja = Worksheets("HojaNombres").Name ""
If buscarHoja = False Then
Sheets.Add before:=Sheets(1)
End If
ActiveSheet.Name = "HojaNombres"
ActiveSheet.Range("A1").Activate
Do While Not IsEmpty(ActiveCell)
nombreHoja = ActiveCell.Value
Sheets(nombreHoja).Name = ActiveCell.Offset(0, 1).Value
ActiveCell.Offset(1, 0).Activate
Loop
For i = 1 To Sheets.Count
Sheets("HojaNombres").Range("A" & i).Value = Sheets(i).Name
Next i
End Sub
@@Macroexcelaton muchas gracias por tu trabajo y tus codigos, en lo personal me apoyaron mucho tiempo en mi estadía en una gran empresa internacional y ahora en mi nuevo trabajo acudo a tu video para reforzar la eficiencia de mis tareas . GRACIAS