Se puede Renombrar una hoja excel en base a una celda específica con una macro y que sea aplicable a cada hoja del libro?

Tengo un libro con formato de resultados de laboratorio, el cual copio en otro libro y necesito que cada pestaña de esta copia tenga el nombre del paciente, que se encuentra en la celda A8, quiero que a medida que voy agregando pacientes, con un botón, pueda cambiar el nombre de la hoja por el nombre del paciente. Los libros utilizados son : FORMATO DE RESULTADOS Y RESULTADOS, EL BOTÓN debe estar en la hoja de resultados, que es donde voy guardando(reportando los resultados) los pacientes, esta es la hoja a imprimir.

2 Respuestas

Respuesta

Claro, mira suponiendo que el nombre del paciente este en la celda:

A1

Entonces declara:

dim nombre_hoja as string

y

Usas:

nombre_hoja=cells(1,1)

ahora cambias el nombre de la hoja con esta instruccion:

Application.Sheets("hoja1").name=nombre_hoja

¡Gracias! Por responder tan rápido... Los nombres los empiezo a colocar a partir de la cuarta hoja..... Con la instrucción que me diste,  las acción de detiene en la última orden (se colorea de amarillo), hay que depurar. La orden debe ser para la hoja que este activa.... Gracias de nuevo

Respuesta
2

RENOMBRAR HOJA ( LIBRO PERSONA

Conseguí dos códigos y luego de modificarlos logré que hicieran lo que andaba buscando

  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

con este código se debe crear un botón para que cambie el nombre de la pestaña 

Otra forma pero directamente en la pestaña de la hoja, click derecho "VER CODIGO " Y pegar lo siguiente :

RENOMBRAR  (  HOJA DE RESULTADOS  )

Private Sub Worksheet_SelectionChange(ByVal Target As Range)

Set Target = Range("A8")

If Target = "" Then Exit Sub

Application.ActiveSheet.Name = Range("A8")

De esta forma automáticamente cambia el nombre al cambiar el valor de la celda.

Solucionada mi inquietud

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas