Nombre de celda y hoja

Hola a todos. Quisiera que alguien me ayudará con mi siguiente inquietud en Excel 2007. Tengo una hoja llamada "Datos" y en el rango B11:B37 tengo una serie de nombres (uno por celda) y a su vez cada nombre de estos tiene una hoja asignada marcada con su nombre y que representa las ventas diarias de cada uno. Mi pregunta es sencilla. Si en el rango de los nombres quiero agregar un nuevo nombre en la celda B38 y tengo una hoja ya creada con el nombre Hoja45, ¿cómo haría con alguna función o macro para que renombre esa hoja45 con el nuevo nombre creado?.
Las hojas ya están creadad pues tiene gráficos y demás, solo requiero cambiar el nombre de la hoja a medida que vaya creando nuevos nombre en la columna.
Muchas gracias por su ayuda.

1 Respuesta

Respuesta
1
Se me ocurre lo siguiente:
Ve al editor de visual basic (alt +f11) y desde allí selecciona la hoja en donde editas los nombres, dale doble click, se te abrirá una página blanca en donde debes poner este script:
Private Sub Worksheet_Change(ByVal Target As Range)
Dim i As Integer
Dim nombre As String
If Target.Column <> 2 Then Exit Sub
For i = 1 To Sheets.Count
On Error GoTo errores
If InStr(1, Sheets(i).Name, "Hoja", vbTextCompare) Then Sheets(i).Name = Target: Exit For
DoEvents
Next
errores:
If Err.Number <> 0 Then
Select Case Err.Number
Case Is = 1004
MsgBox "El nombre ya existe o la celda esta vacia", vbCritical
Case Else
MsgBox Err.Number & " " & Err.Description
End Select
End If
End Sub
La cosa funciona así cada vez que editas un nuevo nombre en la columna B, el script recorrerás todas las hojas del libro hasta que encuentre alguna hoja que contenga la cadena "Hoja" como nombre, si encuentra alguna le asigna el nombre que editaste a esta hoja.
Espero te sirva o al menos te de alguna idea
bye

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas