Range : Intersect

Prasyarat:

  • Memahami Worksheet Events

Mungkin sudah ada beberapa teman-teman yang pernah melihat pengunaan Intersect pada script VBA, namun belum begitu mengerti apa fungsi dari Intersect ini.

Secara umum, “intersect” berarti titik di mana dua atau lebih hal bertemu atau bersilangan. Atau dalam bahasa yang sederhana Intersect ini adalah range perpotongan antara dua range atau lebih.

Dalam Visual Basic for Applications (VBA), “intersect” mengacu pada fungsi atau metode yang digunakan untuk menemukan area yang bersamaan dari dua atau lebih rentang (range) di dalam lembar kerja Excel.

Agar lebih mudah untuk dipahami, saya akan gambarkan bagaimana sebuah Intesect bekerja.

Intersect(Range1,Range2) akan menghasilkan area yang diberi warna pink. Sehingga Intersect akan menghasilkan area D6:F6.

Mari kita buktikan dengan menggunakan script VBA.

Dari script diatas bisa kita lihat jika Intersect dari B2:F6 dan D6:H10 adalah D6:F6 sesuai pada gambar diatas.

Dan jika tidak ada perpotongan maka intersect tidak akan menghasilkan apa-apa (Nothing)

Penggunaan Intersect

Sering ditemui penggunaan intersect ini digunakan untuk membatasi area pada Events Worksheet.

Misalnya jika kita ingin aksi dijalankan jika ada perubahan pada area tertentu.

Coba perhatikan contoh kasus dibawah ini.

Contoh Kasus 1

  • Buat sebuah TimeStamp di Kolom A2:A100, ketika kolom B diisi , Area pengisian kolom B misalnya hanya di B2 sampai B100.

Dari pertanyaan diatas, kita bisa simpulkan bahwa area input VBA hanya bekerja jika ada perubahan pada area B2 sampai B100 saja.

Sedangkan jika diluar area tersebut, tidak terjadi apa-apa.

Jawaban :

Private Sub Worksheet_Change(ByVal Target As Range)
Application.EnableEvents = False

If Not Intersect(Target, Range("B2:B100")) Is Nothing Then
    If Len(Target.Value) > 0 Then
        Target.Offset(0, -1).Value = Now
    Else
        Target.Offset(0, -1).ClearContents
    End If
End If

Application.EnableEvents = True
End Sub

Penjelasan script diatas

Is nothing = Intersect tidak ada perpotongan (Kosong)
Not Is nothing = Intersect ada perpotongan (Ada Area Intersect)

Leave a Reply

Your email address will not be published. Required fields are marked *

Chat WhatsApp
WhatsApp