VBA Artan | Excel VBA'da Asc Fonksiyonu Nasıl Kullanılır? (ASCII karakter kodu)

Excel VBA Asc İşlevi

VBA'daki Asc işlevi, işleve sağlanan bir dizenin ilk karakterine (dize bağımsız değişken / parametre olarak sağlanır) karşılık gelen bir karakter kodunu temsil eden bir tamsayı değeri döndürmek için kullanılır. Genellikle Visual Basic Editor aracılığıyla girilen bir makro kodunda kullanılabilir veya verilebilir.

Makronun, makro kodlarını düzenlemek ve hata ayıklamak için kullanılabilen Visual Basic Düzenleyicisi'nde (VBE) çalıştığı Excel ortamı. Makro kodunu tutar ve bunu Excel çalışma kitabına bağlar.

Asc işlevi tarafından döndürülen tamsayı değeri, VBA'daki karşılık gelen ASCII karakter kodudur. ASCII (Bilgi Değişimi için Amerikan Standart Kodu) Latin alfabeleri, on Arap rakamı, bazı noktalama işaretleri ve kontrol karakterleri dahil olmak üzere içinde tanımlanmış toplam 128 karaktere sahip 7 bitlik bir karakter kodlamasıdır. Kodlama için minimum 8 bitlik alan gerektirdiğinden aksanlı karakterler içermez. Bu 8 bitlik kodlama, tanımlanmış toplam 256 karaktere sahip ANSI (Amerikan Ulusal Standartlar Enstitüsü) ile yapılır. ANSI, genişletilmiş ASCII olarak da adlandırılır.

VBA Asc Fonksiyonunun Sözdizimi

ASC işlevi için Genel Sözdizimi aşağıdaki gibidir:

ASC formül söz diziminde aşağıdaki bağımsız değişken bulunur:

Dize: Gerekli, ilk karakterine karşılık gelen karakter kodu istenen ve döndürülecek metin dizesini temsil eder.

Sağlanan dizge yalnızca bir karakter içeriyorsa, işlev açıkça bu karakter için sayısal karakter kodunu döndürür.

Excel VBA Asc örnekleri

Aşağıda Asc'nin Excel VBA'da nasıl kullanılabileceğini görelim.

Bu VBA Asc Function Excel Şablonunu buradan indirebilirsiniz - VBA Asc Function Excel Template

Örnek 1

Diyelim ki bazı dizeler içeren bir Excel dosyamız var ve bu dizelerle Asc işlevini kullanmak istiyoruz. Dosyanın içerdiği dizeleri görelim:

VBA'da Asc fonksiyonunu, Visual Basic Editor'da yazılabilen ve aşağıdaki gibi erişilebilen bir makroda kullanıyoruz:

Geliştirici'ye gidin ve ardından Makrolar'ı tıklayın:

Şimdi bir makro adı oluşturun: 'Makro Adı' altında, oluşturulması istenen makronun adını yazın ve 'Makro Girişi' açılır menüsünden KİŞİSEL.XLSB'yi seçin. Makrolar, Excel her başlatıldığında arka planda açılan gizli bir çalışma kitabı olan kişisel bir çalışma kitabında depolanabilir. KİŞİSEL.XLSB'yi seçmek makroları Kişisel çalışma kitabına kaydeder ve böylece Kişisel Çalışma Kitabı sisteme / dosyaya özel olmadığından makroyu her zaman kullanılabilir hale getirir.

"Oluştur" u tıklayın.

Bu, Visual Basic Editor'da aşağıdaki gibi bir VBA alt prosedürü olan bir pencere açar:

Şimdi, Result değişkenini tanımlayın

Kod:

Alt Kod () Dim Result1 End Sub

Şimdi dizenin karakter kodunu döndürmek için Result1 değişkenini formülle atayın:

Kod:

Alt Kod () Dim Result1 Result1 = Asc ("Raj") End Sub

Artık Sonuç1'in sonuç değeri, aşağıdaki gibi bir VBA ileti kutusu (MsgBox) kullanılarak görüntülenebilir ve döndürülebilir:

Kod:

Alt Kod () Dim Result1 Result1 = Asc ("Raj") MsgBox Result1 End Sub

Şimdi bu kodu manuel olarak pencerenin üst kısmındaki 'Çalıştır'a tıklayarak veya F5'e basarak çalıştırdığımızda, dizenin ilk harfinin karakter kodunu alırız: Mesaj Kutusunda aşağıdaki gibi gösterilen "Raj":

Dolayısıyla, yukarıdaki ekran görüntüsünde, makroyu çalıştırırken bir mesaj kutusunda '82'nin döndürüldüğünü görebiliriz. Bu, 'R' karakter kodunun 82 olduğu anlamına gelir.

Şimdi yukarıdaki örnekte “Karan” dizesi için karakter kodunu bulmak istediğimizi söyleyelim. Bunu yapmak için yukarıdaki ile aynı adımları izliyoruz.

Kodda Raj yerine Karan'ı karakter kodunu almak için yazacağız.

Kod:

 Alt String2 () Dim Result2 Result2 = Asc ("Karan") MsgBox Result2 End Sub 

Şimdi bu kodu manuel olarak veya F5'e basarak çalıştırıyoruz ve dizenin ilk harfinin karakter kodunu alıyoruz: Mesaj Kutusunda aşağıdaki gibi görüntülenen "Karan":

Dolayısıyla, yukarıdaki ekran görüntüsünde, makroyu çalıştırırken bir mesaj kutusunda '75'in döndürüldüğünü görebiliriz. Bu, 'K' için bir karakter kodunun 75 olduğu anlamına gelir.

Şimdi kalan dizeler için sonucun nasıl değiştiğini görelim:

Kod:

 Alt String3 () Dim Result2 Result2 = Asc ("Heena") MsgBox Result2 End Sub 

 Alt String4 () Dim Result2 Result2 = Asc ("Arun") MsgBox Result2 End Sub 

 Alt String5 () Dim Result2 Result2 = Asc ("A") MsgBox Result2 End Sub 

 Alt String6 () Dim Result2 Result2 = Asc ("a") MsgBox Result2 End Sub 

Bu alt prosedürleri birer birer çalıştırırken, aşağıdaki karakter kodları mesaj kutusunda (sırasıyla birer birer) döndürülür. Bu, yukarıdaki dizeler için döndürülen karşılık gelen değerlerin listesidir.

Dolayısıyla, yukarıdaki ekran görüntüsünün gösterdiği gibi, ASC işlevinin karakter kodunu "Arun" dizisi için 65 olarak döndürdüğünü ve ayrıca "A" dizisi için de döndürdüğünü görebiliriz. Bunun nedeni, döndürülen karakter kodunun VBA ASCII olması veya dizenin birden fazla karakter olması durumunda dizenin ilk harfinin eşdeğer karakter kodu olmasıdır. Bu nedenle, dizenin hem ilk hem de ilk karakteri olarak 65 döndürülür: "Arun" aynı zamanda "A" dır.

Örnek 2

VBA ASC işlevine parametre / bağımsız değişken olarak sağlanan dize boş / boş bir dizeyse (veya karakter içermeyen bir dizeyse), işlev bir çalışma zamanı hatası döndürür.

Aşağıdaki kod aynı şeyi açıklıyor.

 Sub blank () Dim sonucu sonucu = Asc ("") MsgBox (sonuç) End Sub 

Bu kodu çalıştırdığımızda aşağıdaki gibi Run-time hatasını alıyoruz.

Dolayısıyla, yukarıdaki ekran görüntüsünde ASC işlevine parametre veya bağımsız değişken olarak sağlanan dizge boş / boş olduğunda işlevin bir çalışma zamanı hatası döndürdüğünü görebiliriz.

Hatırlanacak şeyler

  • VBA ASC işlevine sağlanan dize, herhangi bir geçerli dize ifadesi olabilir.
  • Asc işlevi büyük / küçük harfe duyarlıdır.
  • Asc işlevi tarafından döndürülen tamsayı değeri 0-255 aralığındadır.
  • AZ için VBA'daki ASCII kodları 65-90 ve az için 97-122'dir.
  • Bir makroya veya alt prosedüre verilen ad, VBA'daki bazı varsayılan işlevlerin adı olamaz. Böyle adlandırılırsa, alt prosedür bir hata gösterecektir.