Aplicar una condicional de error.

Hola

Tengo este código el cual me cambia la etiqueta de la hoja según lo que escriba en la celda A1...

Private Sub Worksheet_Change(ByVal Target As Range)If Intersect([A1], Target) Is Nothing Then Exit SubActiveSheet.Name = [A1]End Sub

pero en caso de borrar lo que tengo en A1 y cambiar por otro nombre este me sale error... Como puedo corregirlo
?

1 respuesta

Respuesta
1

Va comentada y ajustada:

Private Sub Worksheet_Change(ByVal Target As Range)
'comentada x Elsamatilde
'controla si la celda cambiada es A1, sinó cancela
'If Intersect([A1], Target) Is Nothing Then Exit Sub
'otro modo más preciso:
If Target.Address <> "$A$1" Then Exit Sub
'controla si se borró la celda, en ese caso también cancela
If Target.Value = "" Then Exit Sub
ActiveSheet.Name = [A1]
End Sub

Otro modo más sencillo:

Private Sub Worksheet_Change(ByVal Target As Range)
'x Elsamatilde
'controla si la celda cambiada es A1 y si tiene texto, sinó cancela
If Target.Address = "$A$1" Then
    If Target.Value <> "" Then ActiveSheet.Name = [A1]
End If
End Sub

Sdos!

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas