Renombrar hojas de un libro excel con macro

He intentado crear una macro que renombre las hojas de un libro, asignándole una secuencia numérica, por ej. Que identifique la 1er. Hoja del libro (que tendrá un nombre cualquiera) y le asigne el No. 1 y a la siguiente el No. 2, etc.

No quiero que tome el valor numérico de ninguna celda, la idea es que lo asigne con la instrucción que se le indicará en la misma macro. Pero no tengo idea cómo hacerlo.

1 Respuesta

Respuesta
2

¿Y cuál código es el que utilizas?

Podrías publicarlo para revisar donde esta el error.

gracias por la pronta respuesta.

de vuestra página tomé la siguiente instrucción:

Sub NombreHoja()
'
' NombreHoja Macro
' Renombra las hojas de un libro sumándole 1 a la primera hoja (pero ésto no me sirve,
'lo que no puedo lograr hacer, es que renombre las hojas primero borrándole el nombre
'que traen y asignándole una serie numérica que comience en la primer hoja del libro con el 
'número 1 y así sucesivamente.
'
'sigue la instrucción
xHoja = Sheets(1).Name
For i = 0 To Len(Sheets(1).Name)
 'no quiero que le conserve el nombre que ya trae la hoja
xCaracter = Mid(Sheets(1).Name, i + 1, 1)
 'quiero que cambie ese nombre a una serie como te comenté más arriba
If IsNumeric(xCaracter) Then
xPosNum = i + 1
Exit For
End If
Next
xNumHoja = Val(Mid(Sheets(1).Name, xPosNum))
For i = 1 To Sheets.Count
Sheets(i).Name = Mid(Sheets(i).Name, 1, xPosNum - 1) & Str(xNumHoja + i)
Next
End Sub

espero me puedas ayudar, porque esa macro funciona bien, pero le falta ésa pequeña particularidad para que cambie totalmente el nombre de las hojas del libro y le asigne una secuencia numérica, comenzando por el número 1.

gracias por lo que puedas hacer!

Dim Nombre As String
Nombre = Sheets(1).Name
For i = 1 To Sheets.Count
Sheets(i).Name = Sheets(i).Name & " " & i
Next

gracias por tu pronta respuesta, probé la macro y funciona, pero no le cambia el nombre completamente a la hoja, solo le agrega un espacio y el número.

la idea es que pueda cambiar completamente el nombre y dejarle sólo el número sin espacios.

te agradezco la ayuda que me puedas brindar.

saludos y buen comienzo de jornada!

Ups, cierto, eso pasa por solo copiar y pegar :P

Dim Nombre As String
Nombre = Sheets(1).Name
For i = 1 To Sheets.Count
Sheets(i).Name = Nombre & " " & i
Next

Pero es solo cuestión de "comprender" el código y adaptarlo

Impecable!!!!!!

Gracias y perdón la tontera!!!!

Quedó funcionando!!!!

Mil gracias por tu tiempo!

Muy buena jornada!!!!

Añade tu respuesta

Haz clic para o