Una famiglia di software per fogli di calcolo Microsoft con strumenti per l'analisi, la creazione di grafici e la comunicazione dei dati.
Salve.
Ho il seguente codice che uso quando ho un Foglio che voglio rinominare automaticamente in base al valore di una cella.
Funziona perfettamente.
Se inavvertitamente nella in A1 di un Foglio inserisco un "nome" già esistente ovviamente mi dà errore.
Vorrei però che mi comparisse una finestra con un messaggio di errore scelto da me (per esempio "ERRORE: Questo nome esiste già"). Per il resto mi va bene così.
Grazie a chi vorrà darmi un aiuto.
Giuseppe
Io la scriverei così:
Private Sub Worksheet_Change(ByVal Target As Range)
If Not Intersect(Target, [A1]) Is Nothing Then
If ActiveSheet.Name = [A1].Value Or [A1].Value = "" Then
If [A1].Value = "" Then
MsgBox "La cella è vuota", vbInformation
Else
MsgBox "Nome esistente", vbInformation
End If
Else
On Error Resume Next
ActiveSheet.Name = [A1].Text
If Err.Number > 0 Then
MsgBox "Inserire un nome valido", vbCritical, "Errore!"
Err.Clear
End If
On Error GoTo 0
End If
End If
End Sub
Intercetti nomi uguali e cella vuota ed ottieni il messaggio che volevi, inoltre nell'assegnazione del nome controlli anche che non vengano usati caratteri non ammessi,
ciao.