Tabel vba: panduan dasar hingga lanjutan

Poin-poin penting

  • Bayangkan sebuah tabel dalam tabel VBA sebagai database mini untuk menyimpan dan mengatur data (contoh: nama siswa, mata pelajaran dan nilai).
  • Sebelum menggunakannya, Anda harus mendeklarasikan sebuah array; dengan tipe datanya dan jumlah nilai yang ingin Anda simpan di dalamnya.

Jika Anda ingin bekerja dengan data besar menggunakan VBA, Anda perlu memahami tabel dan cara menggunakannya dalam kode VBA. Dalam panduan ini Anda akan menjelajahi semua aspek tabel dan kita juga akan melihat beberapa contoh untuk digunakan. mereka.

Apa itu tabel di VBA?

Di VBA, array adalah variabel yang dapat menyimpan banyak nilai . Anda dapat mengakses semua nilai dalam array ini sekaligus atau Anda juga dapat mengakses satu nilai dengan menentukan nomor indeksnya yang merupakan posisi nilai tersebut dalam array. Bayangkan Anda mempunyai janji dengan nama siswa, mata pelajaran dan nilai.

Anda dapat menyimpan semua informasi ini dalam sebuah tabel, tidak hanya untuk satu siswa tetapi untuk ratusan siswa. Berikut adalah contoh sederhana untuk menjelaskan sebuah tabel.

contoh-untuk-menjelaskan-tabel

Pada contoh di atas, Anda memiliki array yang terdiri dari sepuluh elemen (ukuran array) dan setiap elemen memiliki posisi tertentu (Indeks).

Jadi, jika Anda ingin menggunakan elemen yang berada pada posisi kedelapan, Anda harus merujuk elemen tersebut menggunakan nomor indeksnya.

Array yang kita gunakan pada contoh di atas adalah array satu dimensi. Namun nanti dalam panduan ini, kita juga akan mempelajari tentang array multidimensi.

Cara mendeklarasikan array di VBA

Seperti yang saya sebutkan di atas, array adalah jenis variabel, jadi Anda perlu mendeklarasikannya menggunakan kata kunci (Dim, Private, Public dan Static). Berbeda dengan variabel normal, saat mendeklarasikan array, Anda harus menggunakan sepasang tanda kurung setelah nama array.

Katakanlah Anda ingin mendeklarasikan array yang kita gunakan pada contoh di atas.

Langkah-langkah mendeklarasikan array.

  • Pertama, gunakan kata kunci “Dim”, masukkan nama tabel dan ketik tanda kurung.
    use-the-keyword-dim
  • Selanjutnya, Anda perlu menentukan tipe data untuk array. Jika Anda tidak menentukan tipe data, VBA akan menetapkan tipe data yang sesuai.
    specify-data-type-of-an-array
  • Setelah itu, Anda perlu menentukan jumlah elemen yang ingin Anda simpan dalam array.
    define-the-number-of-items
  • Pada akhirnya, untuk memberikan nilai pada suatu elemen dalam array, Anda harus menggunakan nomor indeks elemen tersebut untuk mengidentifikasinya dan kemudian memberikan nilai padanya.
    assign-a-vale-to-an-item

Kode lengkap

 Sub vba_array_example() Dim StudentsNames(10) As String StudentsNames(0) = "Waylon" StudentsNames(1) = "Morton" StudentsNames(2) = "Rudolph" StudentsNames(3) = "Georgene" StudentsNames(4) = "Billi" StudentsNames(5) = "Enid" StudentsNames(6) = "Genevieve" StudentsNames(7) = "Judi" StudentsNames(8) = "Madaline" StudentsNames(9) = "Elton" End Sub

Catatan Cepat

  • Pada kode di atas, pertama-tama Anda memiliki pernyataan Dim yang mendefinisikan array satu dimensi yang dapat menyimpan hingga 10 elemen dan memiliki tipe data string.
  • Setelah itu, Anda memiliki 10 baris kode yang mendefinisikan elemen array dari 0 hingga 9.

Tabel dengan tipe data yang bervariasi

Saat mendeklarasikan array jika Anda gagal menentukan tipe datanya, VBA akan secara otomatis menggunakan tipe data yang bervariasi, mengakibatkan sedikit peningkatan penggunaan memori, dan peningkatan penggunaan memori ini dapat memperlambat kinerja kode.

Jadi yang terbaik adalah menentukan tipe data tertentu saat Anda mendeklarasikan array kecuali jika diperlukan untuk menggunakan tipe data varian.

Mengembalikan informasi dari array

Seperti yang saya sebutkan sebelumnya untuk mendapatkan informasi dari sebuah array, Anda dapat menggunakan nomor indeks elemen untuk menentukan posisinya. Misalnya, jika Anda ingin mengembalikan elemen ke-8 dari area yang kita buat pada contoh sebelumnya, kodenya adalah:

umpan balik-dari-tabel

Pada kode di atas, Anda memasukkan nilai di sel A1 menggunakan elemen array 8.

Gunakan basis opsi 1

Saya yakin Anda memiliki pertanyaan ini di benak Anda saat ini mengapa kami memulai daftar item dari nol, bukan satu?

Yah, itu tidak salah.

Ketika bahasa pemrograman pertama kali dibangun , beberapa kecerobohan membuat struktur ini menjadi daftar elemen dalam array. Di sebagian besar bahasa pemrograman, Anda dapat menemukan struktur item daftar yang sama.

Namun, tidak seperti kebanyakan bahasa komputer lainnya, di VBA Anda dapat menormalkan cara kerja indeks, artinya Anda dapat memulainya dengan 1. Satu-satunya hal yang perlu Anda lakukan adalah menambahkan pernyataan berdasarkan opsi di awal modul sebelum mendeklarasikan sebuah array.array.

Sekarang tabel ini akan terlihat seperti di bawah ini:

gunakan-opsi-basis-1

Cari di tabel

Saat Anda menyimpan nilai dalam array, mungkin ada saatnya Anda perlu melakukan pencarian array.

Dalam hal ini, Anda perlu mengetahui metode yang dapat Anda gunakan. Sekarang lihat kode di bawah ini yang dapat membantu Anda memahami cara mencari nilai dalam array.

 Sub vba_array_search() 'this section declares an array and variables _ that you need to search within the array. Dim myArray(10) As Integer Dim i As Integer Dim varUserNumber As Variant Dim strMsg As String 'This part of the code adds 10 random numbers to _ the array and shows the result in the _ immediate window as well. For i = 1 To 10 myArray(i) = Int(Rnd * 10) Debug.Print myArray(i) Next i 'it is an input box that asks you the number that you want to find. Loopback: varUserNumber = InputBox _ ("Enter a number between 1 and 10 to search for:", _ "Linear Search Demonstrator") 'it's an IF statement that checks for the value that you _ have entered in the input box. If varUserNumber = "" Then End If Not IsNumeric(varUserNumber) Then GoTo Loopback If varUserNumber < 1 Or varUserNumber > 10 Then GoTo Loopback 'message to show if the value doesn't found. strMsg = "Your value, " & varUserNumber & _ ", was not found in the array." 'loop through the array and match each value with the _ the value you have entered in the input box. For i = 1 To UBound(myArray) If myArray(i) = varUserNumber Then strMsg = "Your value, " & varUserNumber & _ ", was found at position " & i & " in the array." Exit For End If Next i 'message box in the end MsgBox strMsg, vbOKOnly + vbInformation, "Linear Search Result" End Sub 
cari di tabel
  1. Di bagian pertama kode Anda memiliki variabel yang perlu Anda gunakan nanti dalam kode.
  2. Setelah itu, bagian selanjutnya adalah menghasilkan angka acak menggunakan RND untuk mendapatkan 10 nilai array.
  3. Selanjutnya, kotak input untuk memasukkan nilai yang ingin Anda cari ke dalam tabel.
  4. Di bagian ini Anda memiliki kode string yang akan digunakan di kotak pesan jika nilai yang Anda masukkan tidak ditemukan.
  5. Bagian kode ini menggunakan perulangan untuk mengulang setiap elemen array dan memeriksa apakah nilai yang Anda masukkan ada dalam array atau tidak.
  6. Bagian terakhir dari kode menampilkan pesan yang menunjukkan apakah suatu nilai ditemukan atau tidak.

Tambahkan komentar

Alamat email Anda tidak akan dipublikasikan. Ruas yang wajib ditandai *