Susunan Rentetan VBA

Susunan Rentetan VBA Excel

Dalam VBA, array String tidak lain adalah pemboleh ubah array yang boleh menyimpan lebih dari satu nilai rentetan dengan satu pemboleh ubah.

Sebagai contoh lihat kod VBA di bawah.

Kod:

 Sub String_Array_Contoh () Dim CityList (1 To 5) As Variant CityList (1) = "Bangalore" CityList (2) = "Mumbai" CityList (3) = "Kolkata" CityList (4) = "Hyderabad" CityList (5) = "Orissa" MsgBox CityList (1) & "," & CityList (2) & "," & CityList (3) & "," & CityList (4) & "," & CityList (5) Sub Akhir 

Dalam kod di atas, saya telah menyatakan sebagai pemboleh ubah array dan menetapkan panjang array sebagai 1 hingga 5.

 Dim CityList (1 Hingga 5) Sebagai Varian 

Untuk pemboleh ubah array ini, saya telah memberikan 5 nama bandar yang menyebutkan setiap kiraan array dalam kurungan.

CityList (1) = "Bangalore" CityList (2) = "Mumbai" CityList (3) = "Kolkata" CityList (4) = "Hyderabad" CityList (5) = "Orissa"

Seterusnya, saya telah menulis kod untuk menunjukkan nama bandar ini di kotak mesej.

MsgBox CityList (1) & "," & CityList (2) & "," & CityList (3) & "," & CityList (4) & "," & CityList (5)

Apabila saya menjalankan kod ini, kita akan mendapat kotak mesej yang menunjukkan semua nama bandar dalam satu kotak mesej.

Kita semua tahu bahawa ini telah menjimatkan banyak masa dari jadual kita dengan menghilangkan tugas untuk menyatakan pemboleh ubah individu untuk setiap bandar. Namun, satu perkara lagi yang perlu anda pelajari ialah kita masih boleh mengurangkan kod garis yang kita tulis untuk nilai rentetan. Mari lihat bagaimana kita menulis kod untuk susunan rentetan VBA.

Contoh String Array dalam Excel VBA

Berikut adalah contoh susunan rentetan vba excel.

Anda boleh memuat turun Templat VBA String Array Excel ini di sini - Templat VBA String Array Excel

Contoh # 1

Seperti yang telah kita lihat dalam kod di atas, kita belajar bahawa kita dapat menyimpan lebih dari satu nilai dalam pemboleh ubah berdasarkan ukuran array yang ditentukan.

Sekarang yang perlu kita lakukan adalah tidak menentukan panjang array terlebih dahulu.

Kod:

 Sub String_Array_Contoh1 () Dim CityList () Sebagai Variasi Akhir Sub 

Seperti yang anda lihat di dalam kurungan saya tidak menulis panjang lebar. Sekarang untuk pemboleh ubah ini mari masukkan nilai dengan menggunakan fungsi VBA ARRAY.

Di dalam Array lulus nilai pada tanda kutip berganda yang masing-masing dipisahkan dengan koma (,).

Kod:

 Sub String_Array_Contoh () Dim CityList () Sebagai Variant CityList = Array ("Bangalore", "Mumbai", "Kolkata", "Hyderabad", "Orissa") Sub Akhir 

Sekarang simpan kod lama untuk menunjukkan hasil nama bandar di kotak mesej di VBA.

Kod:

 Sub String_Array_Example1 () Dim CityList () As Variant CityList = Array ("Bangalore", "Mumbai", "Kolkata", "Hyderabad", "Orissa") MsgBox CityList (0) & "," & CityList (1) & " , "& CityList (2) &", "& CityList (3) &", "& CityList (4) End Sub 

Satu perubahan yang saya buat dalam kod di atas adalah kerana kita belum memutuskan had bawah dan had atas pemboleh ubah array dan kita telah menggunakan kiraan array fungsi ARRAY akan bermula dari 0 bukan dari 1.

Jadi, itulah sebabnya kami menyebutkan nilai-nilai sebagai CityList (0), ClityList (1), CityList (2), CityList (3), dan CityList (4).

Sekarang jalankan kodnya melalui kunci pintasan excel F5 atau secara manual, kita mendapat hasil yang sama seperti yang kita dapatkan dari kod sebelumnya.

Contoh # 2

Array Rentetan VBA dengan Fungsi LABUH & BAWAH

Sekiranya anda tidak mahu menunjukkan semua senarai bandar dalam satu kotak mesej maka anda perlu memasukkan gelung, tentukan satu lagi pemboleh ubah untuk gelung.

Sekarang untuk memasukkan gelung SELANJUTNYA kita tidak pasti berapa kali kita perlu menjalankan kod, dalam kes ini, kita dapat memutuskannya seperti 5 kali tetapi itu bukan cara yang tepat untuk mendekati masalah tersebut. Jadi bagaimana dengan idea pengecam panjang array tahap rendah dan lebih tinggi secara automatik ???

Apabila kita membuka gelung SELANJUTNYA kita biasanya memutuskan panjang gelung sebagai 1 hingga 5 atau 1 hingga 10 bergantung pada keadaan. Daripada memasukkan nombor secara manual, mari gunakan fungsi LBOUND dan UBOUND untuk menentukan nilai yang lebih rendah dan nilai atas secara automatik.

Untuk LBound dan Ubound saya telah memberikan nama array iaitu CityList. VBA LBound mengenal pasti nilai yang lebih rendah bagi pembolehubah array dan fungsi VBA UBound mengenal pasti nilai atas bagi pemboleh ubah array.

Sekarang tunjukkan nilai di kotak pesan, alih-alih memasukkan nombor siri, biarkan pemboleh ubah gelung "k" mengambil nilai array secara automatik.

Kod:

 Sub String_Array_Contoh1 () Dim CityList () Sebagai Varian Dim k As Integer CityList = Array ("Bangalore", "Mumbai", "Kolkata", "Hyderabad", "Orissa") Untuk k = LBound (CityList) Ke UBound (CityList) MsgBox CityList (k) Selanjutnya k Akhir Sub 

Sekarang kotak mesej akan menunjukkan setiap nama bandar secara berasingan.

Contoh # 3

Array String VBA dengan Fungsi Berpisah

Sekarang anggap anda mempunyai nama bandar seperti di bawah.

Bangalore; Mumbai; Kolkata; Hydrabad; Orissa

Dalam kes ini, semua bandar digabungkan bersama dengan titik dua yang memisahkan setiap bandar. Dalam kes seperti ini, kita perlu menggunakan fungsi SPLIT untuk memisahkan setiap bandar.

Untuk Ekspresi berikan senarai bandar.

Kod:

 Sub String_Array_Contoh2 () Dim CityList () Sebagai String Dim k As Integer CityList = Split ("Bangalore; Mumbai; Kolkata; Hydrabad; Orissa", For k = LBound (CityList) To UBound (CityList) MsgBox CityList (k) Next k End Sub 

Argumen seterusnya adalah "Delimiter" iaitu watak satu yang memisahkan setiap bandar dari kota lain, dalam hal ini, "Colon".

Kod:

 Sub String_Array_Example2 () Dim CityList () As String Dim k As Integer CityList = Split ("Bangalore; Mumbai; Kolkata; Hydrabad; Orissa", ";") Untuk k = LBound (CityList) Ke UBound (CityList) MsgBox CityList (k ) Sub Akhir Akhir 

Sekarang nilai pemisahan fungsi SPLIT juga menentukan panjang susunan tertinggi.

Perkara yang Perlu Diingat

  • LBOUND dan UBOUND adalah fungsi untuk menentukan panjang array.
  • Fungsi ARRAY dapat menyimpan banyak nilai untuk pemboleh ubah yang dinyatakan.
  • Sekali jika anda ingin menggunakan fungsi ARRAY jangan tentukan panjang array.