Hvilke tegn er lovlige i et regnearksnavn - Excel-tip

Indholdsfortegnelse

Navn på regneark kan ændres til næsten alt. Det er den * næsten * del, der er uklar for mig. Der er et par tegn, der ikke er tilladt i en regnearksfane. Men hvordan finder du ud af, hvilke tegn de er? I dag vil jeg vise dig hvordan.

En af mine mest populære videoer på YouTube er Podcast # 1505 - Næste fakturanummer. Jeg kan huske, at jeg downloadede en fakturaskabelon fra Microsoft for 20 år siden og var skuffet over, at der ikke var noget i skabelonen, der kunne øge fakturanummeret efter hver Gem. For seks år siden optog jeg en kort video med et par linjer VBA-kode for at opdatere fakturanummeret ved hver gemning. 222.000 visninger senere forbliver det min # 1 video.

Tre gange om ugen bliver jeg kontaktet af en person, der ønsker at ændre makroen for at gøre noget andet. I sidste uge fortæller nogen mig, at min kode giver dem en 1004-fejl. Det er altid svært at foretage fejlfinding uden at se projektmappen. Kodelinjen, der kastede fejlen, var en linje, der omdøbte regnearket til den værdi, der er gemt i celle E5.

Sådan minder jeg mig selv om, hvilke tegn der er ulovlige. Følg disse trin:

  1. Tryk på Ctrl + N for en ny Excel-projektmappe
  2. Formel i A1 er =ROW(). Kopier ned til A1: A255. Dette giver dig hurtigt tallene 1 til 255
  3. Formel i B1 er =CHAR(A1). Kopier ned til B1: B255. Dette giver dig de 255 ASCII-tegn. Du vil bemærke en stor bogstav A i række 65.
  4. Tryk på alt = "" + F11 for at åbne VBA. Fra menuen VBA skal du vælge Indsæt modul. Kopier følgende kode til 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. Klik et vilkårligt sted inde i makroen. Tryk på F5 for at køre. Det tager kun et par sekunder. Tryk på alt = "" + Q for at lukke og vende tilbage til Excel. Makroen har forsøgt at navngive regnearket med 255 forskellige navne. Kolonne C viser fejlkoden efter hvert forsøg. Nul er godt. 1004 er dårlig.
  6. Det ville være rart at tilføje nogle overskrifter, så du kan filtrere. Kopi A1: C255. Indsæt som værdier. Indsæt en ny række 1 med overskrifter på kode, tegn, navn
  7. Tænd for filteret. Åbn rullemenuen i C1. Fjern markeringen af ​​noget med en fejl på 0. De resterende 9 rækker viser en fejl på 1004.

Som du kan se på billedet nedenfor, er de 9 tegn '* / :? () dem, der ikke kan bruges i et regnearksnavn. (Disse er Apostrophe, Asterisk, Slash, Colon, Spørgsmålstegn, Left Square Bracket, Backslash, Right Square Bracket.)

De 9 tegn, der er synlige i kolonne B, kaster en 1004-fejl, hvis du prøver at bruge dem i et regnearknavn.

Jeg gik tilbage til personen på YouTube og spurgte, om celle E5 indeholdt en dato formateret som MM / DD / ÅÅÅÅ. Ved at skifte til WS.Name =Format(Range("E5").Value,"MM-DD-YYYY")indeholder datoen bindestreger i stedet for skråstreg, og koden fungerede.

Her er en forklaring på de vigtige dele af koden:

  • On Error Resume Next fortæller Excel, at den ikke skal stoppe makroen, når der opstår en fejl. Err.Number og Err.Beskrivelsen vil være tilgængelig, efter at fejlen er stødt på.
  • Err.Clear rydder enhver tidligere fejl fra forrige gang gennem sløjfen.

Forresten fascinerer det mig altid, hvilke tegn * der er * lovlige i et regnearksnavn. Figuren nedenfor er=CHAR(3)&CHAR(6)&CHAR(7)&CHAR(6)&CHAR(4)

Brug ActiveSheet.Name = ActiveCell.Value

Hver fredag ​​vil jeg skrive om debugging af fiskeagtig opførsel i Excel.

Excel-tanken om dagen

Jeg har bedt mine Excel Master-venner om deres råd om Excel. Dagens tanke at tænke over:

"Ikke alle farver i Excel er beregnet til faktisk brug."

Mike Alexander

Interessante artikler...