Çalışma Sayfası Adında Hangi Karakterler Yasaldır - Excel İpuçları

İçindekiler

Çalışma sayfası adları neredeyse her şeye değiştirilebilir. Benim için bulanık olan * neredeyse * kısım. Bir çalışma sayfası sekmesinde izin verilmeyen birkaç karakter vardır. Ama hangi karakter olduklarını nasıl anlarsınız? Bugün size nasıl olduğunu göstereceğim.

YouTube'daki en popüler videolarımdan biri Podcast # 1505 - Sonraki Fatura Numarası. 20 yıl önce Microsoft'tan bir fatura şablonu indirdiğimi ve şablonda her Kaydetme işleminden sonra fatura numarasını artıracak hiçbir şey olmadığı için hayal kırıklığına uğradığımı hatırlıyorum. Altı yıl önce, her kayıtta fatura numarasını güncellemek için birkaç satırlık VBA kodu içeren kısa bir video kaydettim. 222.000 görüntüleme sonra, 1 numaralı videom olmaya devam ediyor.

Haftada üç kez, makroyu farklı bir şey yapmak için değiştirmek isteyen biri benimle iletişime geçiyor. Geçen hafta biri bana kodumun onlara 1004 hatası verdiğini söyledi. Çalışma kitabını görmeden sorunu gidermek her zaman zordur. Hatayı atan kod satırı, çalışma sayfasını E5 hücresinde depolanan değere yeniden adlandıran bir satırdı.

Hangi karakterlerin yasa dışı olduğunu kendime şöyle hatırlatıyorum. Bu adımları takip et:

  1. Yeni bir Excel çalışma kitabı için Ctrl + N tuşlarına basın
  2. A1'deki formül =ROW(). A1: A255'e kopyalayın. Bu size 1'den 255'e kadar olan sayıları verir
  3. B1'deki formül =CHAR(A1). B1: B255'e kopyalayın. Bu size 255 ASCII karakteri verir. 65. satırda büyük bir A göreceksiniz.
  4. VBA'yı açmak için alt = "" + F11 tuşlarına basın. VBA menüsünden Modül Ekle'yi seçin. Aşağıdaki kodu VBA'ya kopyalayın.

    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. Makronun içinde herhangi bir yere tıklayın. Çalıştırmak için F5'e basın. Sadece birkaç saniye sürecektir. Kapatmak ve Excel'e dönmek için alt = "" + Q tuşlarına basın. Makro, çalışma sayfasını 255 farklı adla adlandırmaya çalıştı. Sütun C, her denemeden sonra hata kodunu göstermektedir. Sıfır iyidir. 1004 kötü.
  6. Filtreleyebilmeniz için bazı başlıklar eklemek güzel olur. A1: C255 kopyalayın. Değerler Olarak Yapıştır. Kod, Karakter, Ad başlıklarıyla yeni bir Satır 1 ekleyin
  7. Filtreyi açın. C1'deki açılır menüyü açın. 0 hatası olan herhangi bir şeyin işaretini kaldırın. Kalan 9 satır 1004 hatası gösterir.

Aşağıdaki resimde görebileceğiniz gibi, 9 karakter '* / :? () bir çalışma sayfası adında kullanılamayan karakterlerdir. (Bunlar Kesme İşareti, Yıldız İşareti, Eğik Çizgi, İki Nokta, Soru İşareti, Sol Köşeli Parantez, Ters Eğik Çizgi, Sağ Köşeli Parantezdir.)

B sütununda görünen 9 karakter, bunları bir çalışma sayfası adında kullanmaya çalışırsanız 1004 hatası verir.

YouTube'daki kişiye geri döndüm ve E5 hücresinin AA / GG / YYYY olarak biçimlendirilmiş bir tarih içerip içermediğini sordum. WS.Name olarak değiştirildiğinde =Format(Range("E5").Value,"MM-DD-YYYY"), tarih eğik çizgi yerine kısa çizgiler içeriyor ve kod çalıştı.

İşte kodun önemli kısımlarının bir açıklaması:

  • Hata Olduğunda Sonraki Devam Et, Excel'e bir hatayla karşılaşıldığında makroyu durdurmamasını söyler. Err.Number ve Err.Description, hatayla karşılaşıldıktan sonra kullanılabilir olacaktır.
  • Err.Clear, döngü boyunca önceki zamandan herhangi bir önceki hatayı temizler.

Bu arada, bir çalışma sayfası adında hangi karakterlerin * yasal * olduğu beni her zaman büyülüyor. Aşağıdaki şekil=CHAR(3)&CHAR(6)&CHAR(7)&CHAR(6)&CHAR(4)

ActiveSheet.Name = ActiveCell.Value kullanın

Her Cuma, Excel'de balık davranışlarında hata ayıklama hakkında yazacağım.

Excel Günün Düşüncesi

Excel Master arkadaşlarıma Excel hakkında tavsiyelerini sordum. Bugünün düşüncesi:

"Excel'deki tüm renkler gerçek kullanım için tasarlanmamıştır."

Mike Alexander

Ilginç makaleler...