Crear hoja nueva con nombre de celada de hoja plantilla
Tengo un libro, con una hoja llamada “PLANTILLA”
En dicha hoja esta la celda C5 en la que introduzco el nº de identificación de un trabajador.
Pretendo:
1.- Que compruebe si la hoja con el num de C5 existe
2.- Si no existe cree una nueva hoja (copia de la hoja “PLANTILLA”) con el numero escrito en C5.
3.- y completar los datos del resto de celdas de la hoja creada.
Creo la siguiente macro:
'Inicio Código-
Sub AgregarHojaNueva()
'
Dim carInvalidos As Variant
Dim Hoja As Worksheet
Dim i As Integer
Dim NombreUnico As Boolean
Dim NombreValido As Boolean
Dim rng As Range
'Establecemos la lista de caracteres inválidos.
carInvalidos = Array(":", "\", "/", "?", "*", "[", "]")
'Congelamos la pantalla.
'
Application.ScreenUpdating = False
'Establecemos el rango q contiene el nombre de la hoja.
'
Set rng = Worksheets("PLANTILLA").Range("C5")
'comprobamos si ya existen hojas con los
'nombres q queremos usar.
'
NombreUnico = True
For Each Hoja In Worksheets
If Hoja.Name = rng.Value Then
MsgBox "Ya existe una hoja con el nombre: " _
& rng.Value
NombreUnico = False
Exit For
End If
Next Hoja
'comprobamos si el nombre contiene
'caracteres inválidos.
'
NombreValido = True
For i = 0 To UBound(carInvalidos)
If InStr(rng.Value, carInvalidos(i)) Then
MsgBox "El nombre " & rng.Value _
& " contiene caracteres inválidos (" _
& carInvalidos(i) & ")."
NombreValido = False
Exit For
End If
Next i
'Creamos las hojas y asignamos los nombres validos.
'
If Not IsEmpty(rng) And NombreUnico And NombreValido Then
Worksheets("PLANTILLA").Copy After:=Worksheets(Worksheets.Count)
Worksheets(Worksheets.Count).Name = rng.Value
End If
'Volvemos a la hoja principal.
Range("A1").Activate
End Sub
Al ejecutarlo me manda el error:
Error de Compilación ; el procedimiento externo no es valido
Apareciendo en el editor:
Dim Hoja As Worksheet
Set Hoja = ActiveWorkbook.Sheets
Hoja.Name = Range("C5").Value
No encuentro el error ¿podrías ayudarme a resolverlo?
Gracias