VBA Asc

Fungsi Excel VBA Asc

Fungsi Asc dalam VBA digunakan untuk mengembalikan nilai integer yang mewakili kod karakter yang sesuai dengan karakter pertama dari string yang disediakan (string yang disediakan sebagai argumen / parameter) ke fungsi. Ia boleh digunakan atau diberikan dalam kod makro yang umumnya dimasukkan melalui Visual Basic Editor.

Persekitaran Excel di mana makro berjalan di Visual Basic Editor (VBE) yang dapat digunakan untuk mengedit dan menyahpepijat kod makro. Ia menyimpan kod makro dan memautkannya ke buku kerja Excel.

Nilai integer yang dikembalikan oleh fungsi Asc adalah kod aksara ASCII yang sesuai di VBA. ASCII (American Standard Code for Information Interchange) adalah pengekodan aksara 7-bit yang mempunyai sejumlah 128 aksara yang ditentukan di dalamnya termasuk huruf Latin, sepuluh angka Arab, beberapa tanda baca, dan watak kawalan. Ia tidak termasuk watak diakritik kerana memerlukan ruang minimum 8-bit untuk pengekodan. Pengekodan 8-bit ini dilakukan dengan ANSI (American National Standards Institute) yang mempunyai 256 watak yang ditentukan. ANSI juga dipanggil ASCII yang diperpanjang.

Sintaks Fungsi Ascara VBA

Sintaks Umum untuk fungsi ASC adalah seperti berikut:

Sintaks formula ASC mempunyai argumen berikut:

String: Wajib, mewakili rentetan teks yang mana kod aksara watak pertama yang sesuai diinginkan dan akan dikembalikan.

Sekiranya rentetan yang diberikan hanya mempunyai satu watak, fungsi itu jelas mengembalikan kod watak angka untuk watak itu sendiri.

Contoh Excel VBA Asc

Mari kita lihat di bawah bagaimana Asc dapat digunakan di Excel VBA.

Anda boleh memuat turun Templat VBA Asc Function VBA ini di sini - Templat Excel VBA Asc Function

Contoh # 1

Katakan kita mempunyai fail Excel yang mengandungi beberapa rentetan, dan kita ingin menggunakan fungsi Asc dengan rentetan ini. Mari kita lihat rentetan yang terdapat dalam fail:

Kami menggunakan fungsi Asc di VBA dalam makro yang dapat ditulis dalam Visual Basic Editor dan dapat diakses seperti berikut:

Pergi ke Pembangun, dan kemudian klik pada Makro:

Sekarang buat nama makro: Di bawah 'Nama Makro' tulis nama makro yang ingin dibuat, dan pilih PERSONAL.XLSB dalam dropdown 'Macro In'. Makro boleh disimpan dalam buku kerja peribadi yang merupakan buku kerja tersembunyi yang terbuka di latar belakang setiap kali Excel dimulakan. Memilih PERSONAL.XLSB akan menyimpan makro dalam buku kerja Peribadi sehingga menjadikan makro selalu tersedia kerana Buku Kerja Peribadi tidak khusus sistem / fail.

Klik pada 'Buat'.

Ini akan membuka tetingkap dengan sub prosedur VBA dalam Visual Basic Editor seperti berikut:

Sekarang, tentukan pemboleh ubah Hasil

Kod:

Sub Kod () Keputusan Dim 1 Sub Sub

Sekarang tetapkan pemboleh ubah Result1 dengan formula untuk mengembalikan kod watak rentetan:

Kod:

Subkod () Dim Result1 Result1 = Asc ("Raj") Sub Sub

Sekarang nilai Result1 yang dihasilkan dapat dipaparkan dan dikembalikan menggunakan kotak mesej VBA (MsgBox) seperti berikut:

Kod:

Subkod () Dim Result1 Result1 = Asc ("Raj") MsgBox Result1 End Sub

Sekarang apabila kita menjalankan kod ini secara manual dengan mengklik 'Run' di bahagian atas tetingkap atau dengan menekan F5, kita mendapatkan kod karakter dari huruf pertama dari string: "Raj" dipaparkan dalam Kotak Pesan seperti berikut:

Jadi, kita dapat melihat pada tangkapan skrin di atas bahawa semasa menjalankan makro, '82' dikembalikan dalam kotak mesej. Ini menunjukkan bahawa kod aksara untuk 'R' adalah 82.

Sekarang, mari kita katakan dalam contoh di atas bahawa kita ingin mencari kod watak untuk rentetan: "Karan". Untuk melakukan ini, kami mengikuti langkah yang sama seperti di atas.

Dalam kod sebaliknya Raj kita akan menulis Karan untuk mendapatkan kod wataknya.

Kod:

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

Sekarang kita menjalankan kod ini secara manual atau dengan menekan F5, dan kita mendapatkan kod karakter dari huruf pertama dari string: "Karan" dipaparkan di Kotak Pesan seperti berikut:

Oleh itu, kita dapat melihat pada tangkapan skrin di atas bahawa semasa menjalankan makro, '75' dikembalikan dalam kotak mesej. Ini menunjukkan bahawa kod aksara untuk 'K' adalah 75.

Sekarang mari kita lihat bagaimana hasilnya berubah untuk rentetan yang tinggal:

Kod:

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

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

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

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

Semasa menjalankan sub-prosedur ini satu demi satu, kod aksara berikut dikembalikan dalam kotak mesej (masing-masing satu demi satu). Ini adalah senarai nilai sepadan yang dikembalikan untuk rentetan di atas.

Oleh itu, seperti yang ditunjukkan oleh gambar di atas, kita dapat melihat bahawa fungsi ASC mengembalikan kod watak sebagai 65 untuk rentetan: "Arun", dan juga untuk rentetan: "A". Ini kerana kod aksara yang dikembalikan adalah VBA ASCII atau kod aksara yang setara untuk huruf pertama rentetan sekiranya tali lebih dari satu watak. Oleh itu, 65 dikembalikan untuk kedua-duanya sebagai watak awal atau pertama rentetan: "Arun" juga 'A'.

Contoh # 2

Sekiranya rentetan yang diberikan sebagai parameter / argumen ke fungsi VBA ASC adalah rentetan kosong / kosong (atau rentetan tanpa aksara), maka fungsi tersebut mengembalikan ralat jangka masa.

Kod berikut menjelaskan perkara yang sama.

 Sub blank () Hasil redup = Asc ("") MsgBox (hasil) End Sub 

Apabila kita menjalankan kod ini, kita akan mendapat ralat Run-time seperti berikut.

Oleh itu, kita dapat melihat pada tangkapan skrin di atas bahawa apabila tali yang diberikan sebagai parameter atau argumen ke fungsi ASC kosong / kosong, maka fungsi tersebut mengembalikan ralat masa jalan.

Perkara yang Perlu Diingat

  • Rentetan yang diberikan ke fungsi VBA ASC boleh menjadi ungkapan rentetan yang sah.
  • Fungsi Asc peka huruf besar kecil.
  • Nilai integer yang dikembalikan oleh fungsi Asc berada dalam julat 0-255.
  • Kod ASCII di VBA untuk AZ adalah 65-90, dan untuk az adalah 97-122.
  • Nama yang diberikan untuk makro atau sub-prosedur tidak boleh menjadi nama beberapa fungsi lalai dalam VBA. Sekiranya dinamakan demikian, maka sub-prosedur akan menunjukkan kesalahan.