Vba: cara menjalankan makro ketika nilai sel berubah


Anda dapat menggunakan sintaks berikut di VBA untuk menjalankan makro ketika nilai sel tertentu berubah:

 Sub Worksheet_Change(ByVal Target As Range)
    If Target.Address = " $A$1 " Then
        Call MultiplyMacro
    End If
End Sub

Contoh khusus ini akan menyebabkan makro bernama MultiplyMacro dijalankan ketika nilai sel A1 berubah.

Contoh berikut menunjukkan cara menggunakan sintaksis ini dalam praktiknya.

Contoh: Jalankan makro ketika nilai sel berubah menggunakan VBA

Misalkan kita membuat makro berikut bernama MultiplyMacro yang mengalikan nilai di sel A1 dan B1 dan menampilkan hasilnya di sel C1 :

 SubMultiplyMacro ()
    Range(" C1 ") = Range(" A1 ") * Range(" B1 ")
End Sub

Misalnya, kita memiliki nilai 12 di sel A1 dan nilai 3 di sel B1 .

Jika kita menjalankan makro ini, kita akan menerima hasil sebagai berikut:

Sekarang misalkan kita ingin menjalankan makro ini secara otomatis setiap kali nilai sel A1 berubah.

Untuk melakukan ini, kita dapat mengklik kanan pada nama sheet dan kemudian klik Show Code :

Di jendela pengeditan kode yang muncul, Anda dapat menempelkan kode berikut:

 Sub Worksheet_Change(ByVal Target As Range)
    If Target.Address = " $A$1 " Then
        Call MultiplyMacro
    End If
End Sub

Tangkapan layar berikut menunjukkan cara melakukan hal ini dalam praktik:

Kami kemudian dapat menutup editor VB.

Sekarang, setiap kali kita mengubah nilai di sel A1 , makro bernama MultiplyMacro akan otomatis berjalan dan melakukan perkalian menggunakan nilai baru di sel A1 .

Misalnya, kita mengubah nilai sel A1 menjadi 10 . Segera setelah kita mengubah nilainya dan menekan Enter , makro akan berjalan:

Makro mengalikan 10 dengan 3 dan menampilkan hasilnya di sel C2 .

Catatan : Jika Anda ingin menjalankan makro ketika sel dalam rentang tertentu berubah, Anda bisa menggunakan sintaks berikut:

 Sub Worksheet_Change(ByVal Target As Range)
    If Not Intersect(Target, Range(" A1:B1 ")) Is Nothing Then
        Call MultiplyMacro
    End If
End Sub

Ini akan menyebabkan makro yang disebut MultiplyMacro berjalan jika ada sel dalam rentang A1:B1 yang berubah.

Sumber daya tambahan

Tutorial berikut menjelaskan cara melakukan tugas umum lainnya di VBA:

VBA: Cara menghitung jumlah lembar dalam buku kerja
VBA: Cara mengekstrak data dari buku kerja lain
VBA: Bagaimana cara menambahkan sheet baru

Tambahkan komentar

Alamat email Anda tidak akan dipublikasikan. Ruas yang wajib ditandai *