Memahami Fungsi Intersect pada VBA Excel

Sebelum memahami Fungsi Intersect pada Script VBA, ada baiknya kita memahami dulu apa itu arti dari Intersect. Intersect dalam Bahasa Indonesia memilki arti Momotong. maksud memotong Intersect di VBA ini adalah potongan pertemuan antara dua buah range, atau juga disebut titik temu antara dua range. Misalkan Ada Area 1 dan juga Area 2 intersect adalah area yang memotong Area 1 di Area 2.

Apakah sudah terbayang? jika belum, mungkin gambar dibawah ini bisa lebih menjelaskan apa itu intersect.

Pada gambar diatas, Range 1 memotong area Range 2 dan perpotongan itu yang dimaksud dengan Area Intersect. Area Intersect berada pada gambar diatas berada di alamat Range C6:E6 karena range ini lah yang menjadi perpotongan antara Range1 dan juga Range 2.

Sintaksis dari intersect adalah seperi ini.

expression.Intersect (Arg1, Arg2, Arg3, Arg4, Arg5, Arg6, Arg7, Arg8, Arg9, Arg10, Arg11, Arg12, Arg13, Arg14, Arg15, Arg16, Arg17, Arg18, Arg19, Arg20, Arg21, Arg22, Arg23, Arg24, Arg25, Arg26, Arg27, Arg28, Arg29, Arg30)

Untuk membuktikan pernyataan diatas, kita harus mengimplementasikan gambar diatas menjadi sebuah Script VBA yang akan menghasilkan sebuah Area Intersect. Untuk Pembuktiannya bisa dilihat pada gambar dibawah ini.

Seperti yang kita lihat, Area intersect sama sepeti area yang kita blok diatas yaitu berada di alamat C6:E6.

Menggunakan Intersect dalam Pengkondisian IF

Menambahkan Intersect didalam pengkondisian IF biasanya dimaksudkan untuk melakukan pengecekan sebuah Range terhadap Range Aktive, disini Excelnoob akan menggunakan script dibawah untuk mengecek apakah cell aktive saat ini berada dalam Area Intersect atau tidak dengan menampilkan sebuah Msgbox. script yang digunakan adalah.

Sub TestIntersect()
If Not Intersect(ActiveCell, Range("B2:E6")) Is Nothing Then
    MsgBox "Area Intersect : " & Intersect(ActiveCell, Range("B2:E6")).Address
Else
    MsgBox "Pilihan Cell diluar Intersect, " & VBnewLine & "Silahka pilih  alamat sel dalam rentang B2:E6"
End If
End Sub

Script diatas jika dijalankan akan menghasilkan seperti ini.

untuk penggunaan Fungsi Intersect ini paling umum dan paling banyak digunakan didalam sebuah Event WorkSheet_change . Dimana penambahan Intersect dimaksudkan untuk menghandle area mana saja yang akan diperbolehkan saat ada Perubahaan pada Worksheet.

Sebagai Bonus Script, berikut adalah contoh penggunaan Intersect Pada Worksheet_Change dimana script akan dijalankan jika ada perubahan hanya pada Cell A1 saja.

Private Sub Worksheet_Change(ByVal Target As Range)
If Not Intersect(Target, Range("A1")) Is Nothing Then
     Msgbox "Perubahan Pada A1"
End if
End Sub

Be the first to comment

Leave a Reply

Your email address will not be published.


*