Julat Digunakan VBA

UsedRange, seperti namanya, adalah julat yang sebagai beberapa jenis nilai di dalamnya, sel kosong tidak termasuk dalam julat yang digunakan, jadi dalam VBA Julat yang digunakan adalah milik objek jarak dalam VBA untuk julat sel di baris dan lajur yang tidak kosong dan mempunyai beberapa nilai di dalamnya.

Julat terpakai dalam VBA Excel

UsedRange dalam VBA adalah harta lembaran kerja yang mengembalikan julat objek yang mewakili julat yang digunakan (semua sel Excel yang digunakan atau diisi dalam lembaran kerja) pada lembaran kerja tertentu. Ia adalah harta yang mewakili kawasan yang diliputi atau dibatasi oleh sel terpakai kiri atas dan sel terpakai kanan terakhir dalam lembaran kerja.

Kita boleh menggambarkan 'Sel terpakai' sebagai sel yang mengandungi formula, format, nilai, dan lain-lain. Kita juga dapat memilih sel yang terakhir digunakan dengan menekan kekunci CTRL + END pada papan kekunci.

Berikut adalah ilustrasi UsedRange dalam lembaran kerja:

Kita dapat melihat pada tangkapan skrin di atas bahawa UsedRange adalah A1: D5.

Contoh Hartanah Digunakan Excel VBA

Mari kita lihat beberapa contoh di bawah ini untuk melihat bagaimana Harta UsedRange dalam lembaran kerja dapat digunakan untuk mencari julat terpakai di VBA:

Anda boleh memuat turun Templat VBA UsedRange Excel ini di sini - Templat VBA UsedRange Excel

Contoh # 1

Katakanlah kita mempunyai fail Excel yang mengandungi dua lembaran kerja, dan kita ingin mencari dan memilih julat yang digunakan di Sheet1.

Mari kita lihat apa yang mengandungi Sheet1:

Kami menggunakan properti UsedRange di tetingkap segera VBA untuk menyelesaikan tugas ini. Tetingkap segera VBA adalah alat yang membantu mendapatkan maklumat mengenai fail Excel, melaksanakan atau menyahpepijat kod VBA dengan cepat, walaupun pengguna tidak menulis makro. Ia terletak di Visual Basic Editor dan dapat diakses seperti berikut:

  • Pergi ke tab Pembangun Excel, dan kemudian klik pada Visual Basic Editor, atau tekan Alt + F11 untuk membuka tetingkap Visual Basic Editor.

Setelah melakukan ini, tetingkap terbuka seperti berikut:

  • Tekan Ctrl + G untuk membuka tetingkap segera, dan taipkan kodnya.

Tingkap segera kelihatan seperti:

  • Kod berikut akan memilih julat yang digunakan pada Helaian1

Kod:

? Lembaran kerja ("Sheet1"). Aktifkan True? ActiveSheet.UsedRange. Pilih True

Pernyataan pertama kod akan mengaktifkan Helaian1 fail, dan pernyataan kedua akan memilih julat yang digunakan dalam helaian aktif itu.

Semasa menulis kod ini, kami melihat bahawa julat yang digunakan dalam Helaian1 dipilih seperti berikut:

Contoh # 2

Sekarang, katakan dalam contoh ini kami ingin mencari jumlah baris yang digunakan dalam Helaian 1. Untuk melakukan ini, kami mengikuti langkah-langkah berikut:

  • Buat nama makro dalam modul.

Kod:

 Sub TotalRows () End Sub 

  • Tentukan pemboleh ubah TotalRow sebagai Integer dalam VBA:

Kod:

 Sub TotalRow () Dim TotalRow Sebagai Sub End Integer 

  • Sekarang tetapkan pemboleh ubah TotalRow dengan formula untuk mengira jumlah baris:

Kod:

 Sub TotalRows () Dim TotalRow Sebagai Integer TotalRow = ActiveSheet.UsedRange.Rows.Count End Sub 

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

Kod:

 Sub TotalRow () Dim TotalRow Sebagai Integer TotalRow = ActiveSheet.UsedRange.Rows.Count MsgBox TotalRow End Sub 

  • Sekarang kita menjalankan kod ini secara manual atau dengan menekan F5, dan kita mendapat jumlah baris yang digunakan dalam Helaian1 yang dipaparkan di Kotak Pesan seperti berikut:

Jadi, kita dapat melihat dalam tangkapan skrin di atas bahawa '5' dikembalikan dalam kotak mesej, dan seperti yang dapat kita lihat di Helaian1, jumlah baris dalam julat yang digunakan adalah 5.

Contoh # 3

Begitu juga, jika kita ingin mencari jumlah lajur yang digunakan dalam Helaian1, kita akan mengikuti langkah yang sama seperti di atas kecuali untuk sedikit perubahan kod seperti berikut:

Kod:

 Sub TotalCols () Dim TotalCol Sebagai Integer TotalCol = ActiveSheet.UsedRange.Columns.Count MsgBox TotalCol End Sub 

Sekarang apabila kita menjalankan kod ini secara manual atau dengan menekan F5, kita mendapatkan jumlah lajur yang digunakan dalam Lembaran1 dipaparkan di Kotak Pesan seperti berikut:

Jadi, '4' dikembalikan di kotak pesan, dan seperti yang dapat kita lihat di Lembaran1, jumlah lajur dalam julat yang digunakan adalah 4.

Contoh # 4

Sekarang, katakan kita ingin mencari nombor baris dan lajur yang terakhir digunakan dalam Helaian2 fail. Mari kita lihat apa yang mengandungi Sheet2:

Untuk melakukan ini, kami mengikuti langkah-langkah berikut:

  • Buat nama makro dalam modul.

Kod:

 Sub LastRow () Akhir Sub 

  • Tentukan pemboleh ubah LastRow sebagai Integer.

Kod:

 Sub LastRow () Dim LastRow Sebagai Sub End Integer 

  • Sekarang tetapkan pemboleh ubah LastRow dengan formula untuk mengira nombor baris terakhir yang digunakan:

Kod:

 Sub LastRow () Dim LastRow Sebagai Integer LastRow = ActiveSheet.UsedRange.SpecialCells (xlCellTypeLastCell). Sub End Akhir 

Kaedah SpecialCells dalam Excel VBA mengembalikan objek jarak yang hanya mewakili jenis sel yang ditentukan. Sintaks untuk kaedah SpecialCells adalah:

RangeObject.SpecialCells (Jenis, Nilai)

Dalam kod di atas, xlCellTypeLastCell: mewakili sel terakhir dalam julat yang digunakan.

Catatan: 'xlCellType' malah akan memasukkan sel kosong yang telah mengubah format lalai sel mana pun sel mereka berubah.
  • Sekarang nilai nombor LastRow yang dihasilkan dapat dipaparkan dan dikembalikan menggunakan kotak pesan (Kotak Pesan) seperti berikut:

Kod:

 Sub LastRow () Dim LastRow Sebagai Integer LastRow = ActiveSheet.UsedRange.SpecialCells (xlCellTypeLastCell) .Row MsgBox LastRow End Sub 

  • Sekarang kita menjalankan kod ini secara manual atau dengan menekan F5, dan kita mendapat nombor baris terakhir yang digunakan dalam Lembaran2 yang dipaparkan di Kotak Pesan seperti berikut:

Jadi, kita dapat melihat pada tangkapan skrin di atas bahawa '12' dikembalikan dalam kotak mesej, dan seperti yang dapat kita lihat di Helaian2, nombor baris terakhir yang digunakan adalah 12.

Begitu juga, jika kita ingin mencari nombor lajur yang terakhir digunakan dalam Helaian2, kita akan mengikuti langkah yang sama seperti di atas kecuali untuk sedikit perubahan kod seperti berikut:

Kod:

 Sub LastCol () Dim LastCol Sebagai Integer LastCol = ActiveSheet.UsedRange.SpecialCells (xlCellTypeLastCell). Column MsgBox LastCol End Sub 

Sekarang apabila kita menjalankan kod ini secara manual atau dengan menekan F5, kita mendapatkan nombor lajur yang terakhir digunakan dalam Lembaran2 yang dipaparkan di Kotak Pesan seperti berikut:

Jadi, kita dapat melihat pada tangkapan skrin di atas bahawa '3' dikembalikan dalam kotak mesej, dan seperti yang dapat kita lihat di Helaian2, nombor lajur yang terakhir digunakan adalah 3.

Perkara yang Perlu Diingat Tentang VBA UsedRange

  • VBA UsedRange adalah julat segi empat tepat.
  • VBA UsedRange merangkumi sel yang mempunyai data atau diformat dll.
  • Excel VBA UsedRange tidak semestinya merangkumi sel kiri atas lembaran kerja.
  • UsedRange tidak semestinya menganggap sel aktif seperti yang digunakan.
  • UsedRange boleh digunakan untuk mencari baris terakhir yang digunakan dalam VBA dan untuk menetapkan semula julat yang digunakan, dll.
  • Menekan kekunci pintas Excel CTRL + SHIFT + ENTER pada papan kekunci boleh digunakan untuk memperluas pemilihan dari sel aktif ke sel terakhir yang digunakan pada lembaran kerja.