Quali caratteri sono legali in un nome di foglio di lavoro - Suggerimenti per Excel

Sommario

I nomi dei fogli di lavoro possono essere modificati in quasi tutto. È la parte * quasi * che è sfocata per me. Ci sono alcuni caratteri che non sono consentiti in una scheda del foglio di lavoro. Ma come fai a capire quali personaggi sono? Oggi ti mostrerò come.

Uno dei miei video più popolari su YouTube è Podcast # 1505 - Next Invoice Number. Ricordo di aver scaricato un modello di fattura da Microsoft 20 anni fa e di essere rimasto deluso dal fatto che non ci fosse nulla nel modello per aumentare il numero di fattura dopo ogni salvataggio. Sei anni fa, ho registrato un breve video con poche righe di codice VBA per aggiornare il numero di fattura ad ogni salvataggio. 222.000 visualizzazioni dopo, rimane il mio video n. 1.

Tre volte alla settimana vengo contattato da qualcuno che vuole cambiare la macro per fare qualcosa di diverso. La scorsa settimana, qualcuno mi dice che il mio codice sta dando loro un errore 1004. È sempre difficile risolvere i problemi senza vedere la cartella di lavoro. La riga di codice che ha generato l'errore era una riga che ha rinominato il foglio di lavoro con il valore memorizzato nella cella E5.

Ecco come ricordo a me stesso quali personaggi sono illegali. Segui questi passi:

  1. Premi Ctrl + N per una nuova cartella di lavoro di Excel
  2. La formula in A1 è =ROW(). Copia in A1: A255. Questo ti dà rapidamente i numeri da 1 a 255
  3. La formula in B1 è =CHAR(A1). Copia in B1: B255. Questo ti dà i 255 caratteri ASCII. Noterai la A maiuscola nella riga 65.
  4. Premere alt = "" + F11 per aprire VBA. Dal menu VBA, scegli Inserisci modulo. Copia il seguente codice in VBA.

    Sub CheckAll() On Error Resume Next For i = 1 To 255 Err.Clear ActiveSheet.Name = "A" & Cells(i, 2).Value Cells(i, 3).Value = Err.Number Next i End Sub
  5. Fare clic in un punto qualsiasi all'interno della macro. Premi F5 per eseguire. Ci vorranno solo pochi secondi. Premere alt = "" + Q per chiudere e tornare a Excel. La macro ha tentato di denominare il foglio di lavoro con 255 nomi diversi. La colonna C mostra il codice di errore dopo ogni tentativo. Zero è buono. 1004 è un male.
  6. Sarebbe bello aggiungere alcune intestazioni in modo da poter filtrare. Copia A1: C255. Incolla come valori. Inserisci una nuova riga 1 con intestazioni di codice, carattere, nome
  7. Attiva il filtro. Apri il menu a discesa in C1. Deseleziona qualsiasi cosa con un errore di 0. Le restanti 9 righe mostrano un errore di 1004.

Come puoi vedere nell'immagine qui sotto, i 9 caratteri '* / :? () sono quelli che non possono essere usati nel nome di un foglio di lavoro. (Quelli sono Apostrofo, Asterisco, Barra, Due punti, Punto interrogativo, Parentesi quadra sinistra, Barra rovesciata, Parentesi quadra destra.)

I 9 caratteri visibili nella colonna B genereranno un errore 1004 se provi a usarli nel nome di un foglio di lavoro.

Sono tornato dalla persona su YouTube e ho chiesto se la cella E5 conteneva una data formattata come MM / GG / AAAA. Passando a WS.Name, =Format(Range("E5").Value,"MM-DD-YYYY")la data contiene trattini anziché barre e il codice ha funzionato.

Ecco una spiegazione delle parti importanti del codice:

  • In caso di errore, Riprendi successivo indica a Excel di non interrompere la macro quando si verifica un errore. Err.Number e Err.Description saranno disponibili dopo che si è verificato l'errore.
  • Err.Clear cancella qualsiasi errore precedente dalla volta precedente attraverso il ciclo.

A proposito, mi affascina sempre quali caratteri * sono * legali nel nome di un foglio di lavoro. La figura sotto è=CHAR(3)&CHAR(6)&CHAR(7)&CHAR(6)&CHAR(4)

Usa ActiveSheet.Name = ActiveCell.Value

Ogni venerdì scriverò sul debug del comportamento di pesce in Excel.

Excel pensiero del giorno

Ho chiesto ai miei amici di Excel Master per i loro consigli su Excel. Pensiero di oggi su cui riflettere:

"Non tutti i colori in Excel sono destinati all'uso effettivo."

Mike Alexander

Articoli interessanti...