Offset adalah salah satu fungsi yang sering digunakan dalam VBA. Meskipun terlihat sederhana, penggunaan yang tepat dari fungsi ini dapat membawa manfaat besar dalam penulisan kode yang efisien dan fleksibel.
Offset adalah sebuah fungsi yang memungkinkan untuk memindahkan posisi Cells atau range didalam worksheet. Dengan menggunakan fungsi Offset, kita bisa merujuk ke cells yang berada dalam jarak tertentu dari cells awal, baik ke arah atas, bawah, kanan, atau kiri.
Sintaksis dari Fungsi Offset
expression.Offset (RowOffset, ColumnOffset)
Misalnya Titik awal berada di Range A1, maka notasinya bisa dituliskan dengan
Range("A1")
Setelah itu tambahkan Offset berserta Nilai pergeseran baris dan kolom, misalnya saya ingin dari A1 bergeser 2 baris kebawah dan 3 kolom ke kanan sehingga posisinya di D3.
Maka Notasinya adalah :
Sub ContohOffset() Range("A1").Offset(2,3).select End Sub
jika pergeseran cell Baris kearah atas atau Cell kolom kearah kiri, bisa gunakan Nilai Minus. Sedangkan jika diisi dengan 0 maka baris atau kolom tidak bergerak.
Untuk mempercepat penulisan script, jika pada offset terdapat nilai baris atau kolom yang memiliki nilai 0, penulisan scriptnya bisa disingkat seperti dibawah ini.
Range("A1").Offset(,3).select
Pada Script diatas posisi cell titik awal dari A1 akan bergeser 3 kolom ke kanan dan posisi akhir akan berada di D1.
Range("A1").Offset(8).select
Pada Script diatas posisi cell titik awal dari A1 akan bergeser 8 baris ke kebawah dan posisi akhir akan berada di A9.