Error macro cambio nombre hojas de excel

Hola expertos tengo una macro en excel para cambiar el nombre de la hoja que tengo activa por el valor de una celda (ActiveSheet.Name = Range("A1").Value), el problema me viene cuando el valor de dos hojas diferente coinciden, por ejemplo yo creo un libro nuevo con tres hojas (Hoja 1, Hoja 2 y Hoja 3) y tanto en la Hoja 1 como en la Hoja 3 el valor de la celda A1 es "Indice", al ejecutar esta macro en las dos hojas, en la segunda me aparece un error de ejecucion 1004 tiempo de ejecucion. Me gustaria que en este ejemplo las hojas del libro quedasen como Indice, Hoja 2 y Indice (2), pero no encuentro la forma de hacerlo o si habria una solucion mejor.
Gracias

1 respuesta

Respuesta
1
Para 1 sola repetición, te servirá esta macro de ejemplo.
Sub renombro()
'x Elsamatilde
On Error GoTo errando
For Each sh In Sheets
sh.Name = sh.Range("A1").Value
GoTo sigo
errando:
sh.Name = sh.Range("A1") & " (2)"

sigo:
Next
End Sub
Si van a aparecer + repeticiones, quizás debas agregar un contador...
Gracias por la ayuda Elsa ya casi lo tengo pero me hace falta añadir un contador y no se como hacerlo
Esta opción solo te servirá si el texto que se repita será siempre el mismo. Imposible determinar qué textos se repiten si eso es aleatorio.
Sub renombro()
'x Elsamatilde
conta = 1
On Error GoTo errando
For Each sh In Sheets
sh.Name = sh.Range("A1").Value
GoTo sigo
errando:
sh.Name = sh.Range("A1") & " (" & conta & ")"
conta = conta+1
sigo:
Next
End Sub
Sdos
Elsa
Gracias por la ayuda Elsa con los ejemplos que me has puesto por fin lo he conseguido, al final la macro me ha quedado de esta forma
Sub renombro()
'x Elsamatilde
conta = 1
On Error GoTo errando
ActiveSheet.Name = Range("A1").Value & " (" & conta & ")"
GoTo sigo
errando:
conta = conta + 1
Resume
sigo:
End Sub

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas