Julat Pembolehubah VBA

Pembolehubah VBA Excel dalam Julat

Pemboleh ubah adalah nadi dan jiwa dari mana-mana projek VBA yang besar kerana pemboleh ubah adalah hati dan jiwa maka jenis jenis data yang kami tetapkan kepada mereka juga merupakan faktor yang sangat penting dalam hal itu. Dalam banyak artikel sebelumnya, kami telah banyak kali membincangkan mengenai pemboleh ubah dan kepentingan jenis data mereka. Salah satu pemboleh ubah dan jenis data tersebut adalah "Range Variable", dalam artikel khusus ini kami akan memberikan panduan lengkap mengenai "Range Variable" di excel VBA.

Apakah Range Variable dalam Excel VBA?

Seperti setiap Range pemboleh ubah lain di VBA, pemboleh ubah juga merupakan pemboleh ubah tetapi ia adalah "Objek Pembolehubah" yang kami gunakan untuk menetapkan rujukan sel tertentu.

Seperti pemboleh ubah lain, kita dapat memberikan nama apa pun untuk pemboleh ubah tetapi jenis data yang kita tetapkan kepada mereka haruslah "Range". Setelah jenis data diberikan kepada pemboleh ubah itu menjadi "Objek Pemboleh ubah" dan tidak seperti pemboleh ubah lain, kita tidak dapat mulai menggunakan pemboleh ubah sebelum kita menetapkan referensi objek jika terjadi pemboleh ubah objek.

Jadi, setelah kita menyatakan pemboleh ubah kita perlu menggunakan kata kunci "SET" untuk menetapkan rujukan objek iaitu objek Range dalam kes ini.

Ok, sekarang kita akan melihat beberapa contoh VBA Range Variables excel secara praktikal.

Contoh Range Variable dalam Excel VBA

Anda boleh memuat turun Templat VBA Variable Range Excel ini di sini - Templat VBA Variable Range Excel

Sebagai contoh anggap anda mahu memilih julat sel dari A2 hingga B10 untuk gambar tangkapan skrin di bawah.

Untuk memilih julat sel yang disebutkan ini semua sementara kita mempunyai objek RANGE dan di dalam objek rentang, kita telah menyebut alamat sel dalam tanda kutip dua kali.

Kod:

 Sub Range_Variable_Contoh () Julat ("A2: B10") Sub Akhir 

Setelah julat sel disebut menggunakan objek RANGE jika anda meletakkan titik, kita akan melihat semua sifat dan kaedah yang berkaitan dengan objek jarak ini.

Kod:

Sub Julat_Variabel_Contoh () Julat ("A2: B10"). Sub Akhir

Oleh kerana kita perlu memilih sel yang disebut sederhana, pilih kaedah "Pilih" dari senarai IntelliSense.

Kod:

 Sub Range_Variable_Contoh () Julat ("A2: B10"). Pilih Akhir Sub 

Jalankan kod dan ia akan memilih sel yang disebutkan.

Ini jelas bukan, tetapi bayangkan senario menggunakan julat yang sama dalam projek VBA panjang katakanlah seratus kali, menulis kod yang sama "Range (" A2: A10 ")" 100 kali akan memakan masa tetapi kami akan menyatakan pemboleh ubah dan menetapkan jenis data sebagai objek "Range".

Ok, mari beri nama anda sendiri kepada pemboleh ubah dan tetapkan jenis data sebagai "Range"

Selain "Pembolehubah Objek" kita dapat mulai menggunakan pemboleh ubah dengan namanya tetapi dalam kasus "Pembolehubah Objek," kita harus menetapkan referensi.

Sebagai contoh, dalam hal ini, objek pemboleh ubah (Rng) kita berada dalam jangkauan jadi kita perlu menetapkan rujukan yang akan dirujuk oleh kata "Rng". Untuk menetapkan rujukan, kita perlu menggunakan kata kunci "Set".

Sekarang pemboleh ubah "Rng" merujuk pada rentang sel dari A2 hingga B10, bukannya menulis "Range (" A2: B10 "))" setiap kali kita hanya dapat menulis kata "Rng" .

Pada baris seterusnya sebutkan nama pemboleh ubah "Rng" dan letakkan titik untuk melihat keajaibannya.

Seperti yang anda lihat di atas, kita dapat melihat semua sifat dan kaedah objek jarak seperti yang sebelumnya.

Jadikan Pemboleh ubah Dinamik

Sekarang kita tahu bagaimana menetapkan rujukan ke rentang sel, tetapi setelah kita menyebut julat sel itu hanya menempel pada sel tersebut, penambahan atau penghapusan sel tidak akan mempengaruhi sel tersebut.

Oleh itu, mencari julat sel baru setelah penambahan atau penghapusan sel menjadikan pemboleh ubah dinamik. Ini dimungkinkan dengan mencari baris dan lajur yang terakhir digunakan.

Untuk mencari baris dan lajur yang terakhir digunakan, kita perlu menentukan dua lagi pemboleh ubah.

Kod:

 Sub Range_Variable_Contoh () Dim Rng Sebagai Julat Dim LR Selagi 'LR = Baris Terakhir untuk Memahami Dim LC Sebagai Panjang' LC = Lajur Terakhir untuk Memahami Sub Akhir 

Sekarang di bawah kod akan mencari baris & lajur yang terakhir digunakan sebelum kita menetapkan rujukan ke pemboleh ubah objek julat.

Kod:

 Sub Range_Variable_Contoh () Dim Rng Sebagai Julat Dim LR Selagi 'LR = Baris Terakhir untuk Memahami Dim LC Sebagai Panjang' LC = Lajur Terakhir untuk Memahami LR = Sel (Rows.Count, 1). End (xlUp). Baris LC = Sel (1, Lajur. Jumlah). Akhir (xlToLeft). Sub Akhir Kolumn 

Sekarang buka pernyataan kata kunci "Set".

Kod:

 Sub Range_Variable_Contoh () Dim Rng Sebagai Julat Dim LR Selagi 'LR = Baris Terakhir untuk Memahami Dim LC Sebagai Panjang' LC = Lajur Terakhir untuk Memahami LR = Sel (Rows.Count, 1). End (xlUp). Baris LC = Sel (1, Lajur. Jumlah). Akhir (xlToLeft). Set Kolom Rng = Sub Akhir 

Tidak seperti kaedah sebelumnya, kami menggunakan sifat VBA CELLS kali ini.

Kod:

 Sub Range_Variable_Contoh () Dim Rng Sebagai Julat Dim LR Selagi 'LR = Baris Terakhir untuk Memahami Dim LC Sebagai Panjang' LC = Lajur Terakhir untuk Memahami LR = Sel (Rows.Count, 1). End (xlUp). Baris LC = Sel (1, Lajur. Jumlah). Akhir (xlToLeft). Set Kolom Rng = Sel (1, 1) Sub Akhir 

Saya telah menyebutkan Sel (1,1) iaitu ini merujuk pada sel pertama dalam lembaran aktif tetapi kita memerlukan rujukan julat data sehingga menggunakan sifat "RESIZE" dan sebutkan pemboleh ubah "baris & lajur yang terakhir digunakan".

Kod:

 Sub Range_Variable_Contoh () Dim Rng Sebagai Julat Dim LR Selagi 'LR = Baris Terakhir untuk Memahami Dim LC Sebagai Panjang' LC = Lajur Terakhir untuk Memahami LR = Sel (Rows.Count, 1). End (xlUp). Baris LC = Sel (1, Lajur. Jumlah). Akhir (xlToLeft). Set Kolom Rng = Sel (1, 1). Ubah saiz (LR, LC) Akhir Sub 

Now this will set the latest reference to the range object variable “Rng”. Next, mention the variable name and use the “Select” method.

 Sub Range_Variable_Example() Dim Rng As Range Dim LR As Long 'LR = Last Row for Understanding Dim LC As Long 'LC = Last Column for Understanding LR = Cells(Rows.Count, 1).End(xlUp).Row LC = Cells(1, Columns.Count).End(xlToLeft).Column Set Rng = Cells(1, 1).Resize(LR, LC) Rng.Select End Sub 

Now I will add a few more lines to my data.

I have added three extra lines of data if I run the code now it should select the latest data range.

Things to Remember

  • The range variable in excel VBA is an object variable.
  • Whenever we use the object variable we need to use the “Set” keyword and set the object reference to the variable.
  • Without setting the reference we cannot use an object variable.