Resize pada VBA Excel untuk Mengelola Area Data Secara Otomatis

Bayangkan ketika kita memiliki data seperti berikut:

ABC
Nama Nilai Status
Andi 90 Lulus
Budi 75 Lulus
Citra 88 Lulus
Deni 60 Tidak Lulus

Hari ini data hanya berisi 4 baris.

Besok bisa bertambah menjadi 50 baris.

Minggu depan mungkin menjadi 500 baris.

Jika Anda menulis kode seperti ini:

Range("A1:C5").Copy

program hanya akan bekerja pada area A1:C5.

Lalu bagaimana jika jumlah data terus berubah?

Apakah Anda harus mengubah alamat Range setiap kali?

Tentu tidak.

Di sinilah Resize menjadi solusi yang sangat berguna.


Apa Itu Resize?

Resize adalah metode yang digunakan untuk mengubah ukuran suatu Range, baik menambah maupun mengurangi jumlah baris dan kolom.

Berbeda dengan Offset yang berpindah posisi, Resize tetap menggunakan titik awal yang sama, tetapi memperbesar atau memperkecil area yang dipilih.

Sintaks dasarnya adalah:

Range("A1").Resize(JumlahBaris, JumlahKolom)

Memahami Cara Kerja Resize

Misalkan titik awalnya adalah:

A1

Jika ditulis:

Range("A1").Resize(3, 2)

hasilnya adalah area:

A1:B3

Ilustrasinya:

AB

Titik awal tetap A1, tetapi ukurannya berubah menjadi 3 baris × 2 kolom.


Memperbesar Area Range

Misalnya Anda ingin memilih area berukuran 5 baris dan 4 kolom.

Range("A1").Resize(5, 4).Select

Area yang dipilih adalah:

A1:D5

Anda tidak perlu lagi menuliskan alamat akhir secara manual.


Memperkecil Area Range

Resize juga dapat digunakan untuk mengambil sebagian area dari sebuah Range.

Misalnya:

Range("A1:D10").Resize(3, 2).Select

Hasilnya:

A1:B3

Meskipun Range awal sangat besar, Anda dapat mengambil hanya sebagian area yang diperlukan.


Menggunakan Resize dengan Variabel

Inilah alasan mengapa Resize sering digunakan dalam aplikasi VBA.

Dim JumlahBaris As Long

JumlahBaris = 100

Range("A1").Resize(JumlahBaris, 3).Select

Jika nilai JumlahBaris berubah menjadi:

  • 50

  • 200

  • 1000

program tetap dapat berjalan tanpa mengubah alamat Range.


Kombinasi Resize dan Offset

Inilah pasangan yang paling sering digunakan dalam VBA.

Misalnya Anda memiliki tabel dengan header.

ABC
Nama Nilai Status
Andi 90 Lulus
Budi 75 Lulus
Citra 88 Lulus

Anda ingin memilih data saja, tanpa header.

Range("A1").Offset(1, 0).Resize(3, 3).Select

Urutan prosesnya adalah:

  1. Mulai dari A1.

  2. Turun satu baris menggunakan Offset.

  3. Ambil area berukuran 3 × 3 menggunakan Resize.

Hasil akhirnya:

A2:C4

Teknik ini sangat sering digunakan saat mengolah tabel yang memiliki baris judul.


Studi Kasus

Sebuah perusahaan menerima file penjualan setiap hari.

Jumlah data tidak pernah sama.

Kadang hanya:

15 baris

Kadang mencapai:

800 baris

Daripada menulis:

Range("A1:C800")

lebih baik menentukan jumlah data terlebih dahulu, kemudian menggunakan Resize.

Dim LastRow As Long

LastRow = Cells(Rows.Count, 1).End(xlUp).Row

Range("A1").Resize(LastRow, 3).Select

Dengan cara ini, program selalu menyesuaikan ukuran area berdasarkan jumlah data yang tersedia.


Kesalahan yang Sering Dilakukan

Mengira Resize Memindahkan Posisi

Perhatikan kode berikut.

Range("A1").Resize(5, 3)

Banyak pemula mengira area dimulai dari sel lain.

Padahal titik awal tetap berada di:

A1

Resize hanya mengubah ukuran area, bukan posisinya.


Salah Menentukan Jumlah Baris dan Kolom

Misalnya:

Resize(1, 1)

Hasilnya hanya satu sel.

Beberapa pemula mengira angka tersebut menunjukkan sel tujuan, padahal yang dimaksud adalah ukuran area.


Menggunakan Nilai Nol

Contoh berikut akan menghasilkan kesalahan.

Resize(0, 5)

Jumlah baris dan kolom pada Resize harus bernilai 1 atau lebih.


Kapan Sebaiknya Menggunakan Resize?

Gunakan Resize ketika Anda ingin:

  • mengolah tabel yang jumlah datanya berubah-ubah,

  • memilih area berdasarkan variabel,

  • menghindari penulisan alamat Range yang panjang,

  • membuat kode lebih fleksibel dan mudah dipelihara.

Resize sangat bermanfaat ketika dikombinasikan dengan Offset, Cells, maupun pencarian baris terakhir (LastRow).


Tips Praktis

💡 Gunakan Resize untuk membuat kode yang dapat menyesuaikan diri dengan perubahan jumlah data.

💡 Gabungkan Resize dengan Offset untuk melewati baris judul (header).

💡 Hindari menuliskan alamat area secara manual jika ukuran data dapat berubah.

💡 Gunakan variabel seperti LastRow dan LastColumn agar ukuran Range selalu dinamis.

💡 Latih penggunaan Resize bersama Range sebelum menggabungkannya dengan teknik VBA yang lebih kompleks.


Ringkasan

PerintahHasil
Resize(3,2) Area menjadi 3 baris × 2 kolom
Resize(5,4) Area menjadi 5 baris × 4 kolom
Offset(...).Resize(...) Berpindah posisi lalu mengubah ukuran area
Resize(LastRow,3) Menyesuaikan area berdasarkan jumlah data

Kesimpulan

Resize merupakan metode yang digunakan untuk mengubah ukuran sebuah Range tanpa mengubah titik awalnya. Metode ini sangat berguna ketika bekerja dengan data yang jumlah baris atau kolomnya tidak tetap. Dengan mengombinasikan Resize bersama Offset dan Cells, Anda dapat membuat kode VBA yang lebih dinamis, lebih ringkas, dan mampu beradaptasi dengan perubahan data secara otomatis.

Hubungi Kami

Kantor Berkreasi
Alamat :
Pens Sky Venture - Sukolilo Surabaya
Karangrejo Tmur 17 Surabaya

Email : kantor.berkreasi@gmail.com
WA : wa.me/6287761589881  
(Support  Mbak Ana)

Tim Pengembang

Dr. Rojabi Azharghany, M.Si, S.Sos
Dr. H. Agus Sulthoni Imami, S.Psi. M.Pd.I.
Ali Ishaq, M.Pd.
Mujiburrohman, M.Pd.
Mohammad Zikky, S.ST, M.T
Iqbal F. Rakhmat, SE., MM., M.Kom, CPISM, MCE
Budi Prasetya, ST., MM.
Amien sawedi, S.Pd.
Didik P Wicaksono, M.Pd.