Vilka tecken är lagliga i ett kalkylbladets namn - Excel-tips

Innehållsförteckning

Kalkylbladets namn kan ändras till nästan vad som helst. Det är den * nästan * delen som är suddig för mig. Det finns några tecken som inte är tillåtna på en kalkylbladflik. Men hur räknar man ut vilka karaktärer de är? Idag ska jag visa dig hur.

En av mina mest populära videor på YouTube är Podcast # 1505 - Nästa fakturanummer. Jag kommer ihåg att jag laddade ner en fakturamall från Microsoft för 20 år sedan och blev besviken över att det inte fanns något i mallen för att öka fakturanumret efter varje spara. För sex år sedan spelade jag in en kort video med några rader VBA-kod för att uppdatera fakturanumret vid varje spara. 222 000 visningar senare är det fortfarande min # 1-video.

Tre gånger i veckan kontaktas jag av någon som vill ändra makrot för att göra något annorlunda. Förra veckan berättar någon att min kod ger dem ett 1004-fel. Det är alltid svårt att felsöka utan att se arbetsboken. Kodraden som kastade felet var en rad som bytte namn på kalkylbladet till det värde som lagrats i cell E5.

Så här påminner jag mig själv om vilka karaktärer som är olagliga. Följ dessa steg:

  1. Tryck på Ctrl + N för en ny Excel-arbetsbok
  2. Formel i A1 är =ROW(). Kopiera ner till A1: A255. Detta ger dig snabbt siffrorna 1 till 255
  3. Formel i B1 är =CHAR(A1). Kopiera ner till B1: B255. Detta ger dig 255 ASCII-tecken. Du kommer att märka ett stort A i rad 65.
  4. Tryck på alt = "" + F11 för att öppna VBA. Från VBA-menyn väljer du Infoga modul. Kopiera följande kod till 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. Klicka var som helst i makrot. Tryck på F5 för att köra. Det tar bara några sekunder. Tryck på alt = "" + Q för att stänga och återgå till Excel. Makronet har försökt namnge kalkylbladet med 255 olika namn. Kolumn C visar felkoden efter varje försök. Noll är bra. 1004 är dåligt.
  6. Det skulle vara trevligt att lägga till några rubriker så att du kan filtrera. Kopia A1: C255. Klistra in som värden. Infoga en ny rad 1 med rubrikerna Kod, Tecken, Namn
  7. Slå på filtret. Öppna rullgardinsmenyn i C1. Avmarkera allt med ett fel på 0. De återstående 9 raderna visar ett fel på 1004.

Som du kan se på bilden nedan är de 9 tecknen '* / :? () de som inte kan användas i ett kalkylarknamn. (Dessa är Apostrophe, Asterisk, Slash, Colon, frågetecken, Left Square Bracket, Backslash, Right Square Bracket.)

De nio tecknen som syns i kolumn B ger ett 1004-fel om du försöker använda dem i kalkylbladets namn.

Jag gick tillbaka till personen på YouTube och frågade om cell E5 innehöll ett datum formaterat som MM / DD / ÅÅÅÅ. Genom att ändra till WS.Name =Format(Range("E5").Value,"MM-DD-YYYY")innehåller datumet streck istället för snedstreck och koden fungerade.

Här är en förklaring av de viktiga delarna av koden:

  • On Error Resume Next berättar Excel att inte stoppa makrot när ett fel uppstår. Err.Number och Err. Beskrivning kommer att finnas tillgängligt efter att felet har uppstått.
  • Err.Clear rensar alla tidigare fel från förra gången genom slingan.

Förresten, det fascinerar mig alltid vilka tecken * som är lagliga i ett kalkylbladets namn. Figuren nedan är=CHAR(3)&CHAR(6)&CHAR(7)&CHAR(6)&CHAR(4)

Använd ActiveSheet.Name = ActiveCell.Value

Varje fredag ​​skriver jag om felsökning av fiskbeteende i Excel.

Excel-tanke på dagen

Jag har frågat mina Excel Master-vänner om deras råd om Excel. Dagens tanke att fundera på:

"Inte alla färger i Excel är avsedda för faktisk användning."

Mike Alexander

Intressanta artiklar...