Kateri znaki so zakoniti v imenu delovnega lista - Excel Nasveti

Kazalo

Imena delovnih listov lahko spremenite v skoraj vse. To je zame skoraj zamegljen del * skoraj *. Na zavihku delovnega lista je nekaj znakov, ki niso dovoljeni. Kako pa ugotoviti, kateri liki so? Danes vam bom pokazal, kako.

Eden mojih najbolj priljubljenih videoposnetkov na YouTubu je Podcast # 1505 - številka naslednjega računa. Spomnim se, da sem pred 20 leti naložil predlogo računa iz Microsofta in bil razočaran, ker v predlogi ni ničesar, kar bi povečalo številko računa po vsakem shranjevanju. Pred šestimi leti sem posnel kratek video z nekaj vrsticami kode VBA za posodobitev številke računa ob vsakem shranjevanju. 222.000 ogledov pozneje ostaja moj video # 1.

Trikrat na teden me kontaktira nekdo, ki želi spremeniti makro in narediti nekaj drugačnega. Prejšnji teden mi nekdo reče, da jim moja koda povzroča napako 1004. Vedno je težko odpraviti težave, ne da bi videli delovni zvezek. Vrstica kode, ki je povzročila napako, je bila vrstica, ki je preimenovala delovni list v vrednost, shranjeno v celici E5.

Tukaj se spomnim, kateri znaki so nezakoniti. Sledite tem korakom:

  1. Pritisnite Ctrl + N za nov Excelov delovni zvezek
  2. Formula v A1 je =ROW(). Kopirajte na A1: A255. Tako boste hitro dobili številke od 1 do 255
  3. Formula v B1 je =CHAR(A1). Kopirajte na B1: B255. Tako dobite 255 znakov ASCII. V 65. vrstici boste opazili veliko A.
  4. Pritisnite alt = "" + F11, da odprete VBA. V meniju VBA izberite Vstavi modul. Kopirajte naslednjo kodo v 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. Kliknite kjer koli znotraj makra. Pritisnite F5 za zagon. Trajalo bo le nekaj sekund. Pritisnite alt = "" + Q, da zaprete in se vrnete v Excel. Makro je poskusil poimenovati delovni list s 255 različnimi imeni. Stolpec C prikazuje kodo napake po vsakem poskusu. Zero je dobro. 1004 je slabo.
  6. Bilo bi lepo dodati nekaj naslovov, da boste lahko filtrirali. Kopija A1: C255. Prilepi kot vrednosti. Vstavite novo vrstico 1 z naslovi Koda, Znak, Ime
  7. Vklopite filter. Odprite spustni meni v C1. Počistite polje z napako 0. Preostalih 9 vrstic prikazuje napako 1004.

Kot lahko vidite na spodnji sliki, je 9 znakov '* / :? () tistih, ki jih ni mogoče uporabiti v imenu delovnega lista. (To so apostrof, zvezdica, poševnica, dvopičje, vprašaj, levi oglati oklepaj, povratna poševnica, desni kvadratni oklepaj.)

9 znakov, vidnih v stolpcu B, bo povzročilo napako 1004, če jih poskusite uporabiti v imenu delovnega lista.

Vrnil sem se k osebi v YouTubu in vprašal, ali celica E5 vsebuje datum, oblikovan kot MM / DD / LLLL. S spremembo na WS.Name =Format(Range("E5").Value,"MM-DD-YYYY")datum vsebuje pomišljaje namesto poševnic in koda je delovala.

Tu je razlaga pomembnih delov kode:

  • On Error Resume Next navaja Excel, da ne ustavi makra, ko pride do napake. Po napaki bosta na voljo Err.Number in Err.Description.
  • Err.Clear skozi zanko izbriše vse prejšnje napake iz prejšnjega časa.

Mimogrede, vedno me očara, kateri znaki * so * zakoniti v imenu delovnega lista. Spodnja slika je=CHAR(3)&CHAR(6)&CHAR(7)&CHAR(6)&CHAR(4)

Uporabite ActiveSheet.Name = ActiveCell.Value

Vsak petek bom pisal o odpravljanju napak v Excel-u.

Excel Misel dneva

Za nasvet glede Excela sem prosil prijatelje Excel Excel. Današnja misel o premišljevanju:

"Vse barve v Excelu niso namenjene dejanski uporabi."

Mike Alexander

Zanimive Članki...