Macro que cuando yo introduzca cualquier valor en una celda, este valor sea inmediatamente el nombre de la hoja activa

¿Tengo una forma de hacerlo pero se me complica porque ya tengo otra se podar adaptar?

Dejo la vba que cambia la hoja activa según el dato de la celda G7 pero me trae conflictos con otra que tengo para que me cambies a mayúsculas automático

Private Sub Worksheet_Change(ByVal Target As Range)
    If Target = Range("g7") Then
        ActiveSheet.Name = Target.Value
    End If
End Sub
*** y la tengo que combinar con esta otra para que funciones las dos*****
Private Sub Worksheet_Change(ByVal Target As Range)
'x Elsamatilde
'seleccionando varias celdas (para borrarlas) no ejecuta
If Target.Count > 1 Then Exit Sub
If Not Intersect(Target, Range("f20:g211")) Is Nothing Then
        Application.EnableEvents = False
        Target.Value = UCase(Target.Value)
        Application.EnableEvents = True
    End If
End Sub
1

1 respuesta

Respuesta
2

H o l a:

Te anexo la macro actualizada

Private Sub Worksheet_Change(ByVal Target As Range)
'Act.Por.Dante Amor
    If Target.Count > 1 Then Exit Sub
    If Target = Range("g7") Then
        ActiveSheet.Name = Target.Value
    End If
    'x Elsamatilde
    'seleccionando varias celdas (para borrarlas) no ejecuta
    If Not Intersect(Target, Range("f20:g211")) Is Nothing Then
        Application.EnableEvents = False
        Target.Value = UCase(Target.Value)
        Application.EnableEvents = True
    End If
End Sub

' : )
'S aludos. Dante Amor. Recuerda valorar la respuesta. G racias
' : )

hola Dante se puede tomar la información de dos celdas preciso la de la g7 +g4??

gracias

Te anexo la macro actualizada

Private Sub Worksheet_Change(ByVal Target As Range)
'Act.Por.Dante Amor
    If Target.Count > 1 Then Exit Sub
    If Not Intersect(Target, Range("G7, G4")) Is Nothing Then
        ActiveSheet.Name = Range("G7") & Range("G4")
    End If
    'x Elsamatilde
    'seleccionando varias celdas (para borrarlas) no ejecuta
    If Not Intersect(Target, Range("f20:g211")) Is Nothing Then
        Application.EnableEvents = False
        Target.Value = UCase(Target.Value)
        Application.EnableEvents = True
    End If
End Sub

No olvides poner todo lo que necesitas en la pregunta inicial.

NOTA: Si alguna de las celdas es una fecha, entonces hay que cambiar la macro.

Si es una fecha, entonces, crea una pregunta nueva y pon el ejemplo de lo que tienes en las celdas G7 y G4 y cómo quieres que se llame la hoja.


' : )
'S aludos. Dante Amor. Recuerda valorar la respuesta. G racias
' : )

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas