Loncat ke daftar isi utama

Bagaimana cara menjalankan makro saat nilai sel berubah di Excel?

Biasanya, di Excel, kita dapat menekan tombol F5 atau tombol Run untuk menjalankan kode VBA. Tapi, pernahkah Anda mencoba menjalankan kode makro tertentu saat nilai sel berubah? Artikel ini, saya akan memperkenalkan beberapa trik cepat untuk menangani pekerjaan ini di Excel.

Jalankan atau panggil makro ketika nilai sel tertentu berubah dengan kode VBA

Jalankan atau panggil makro saat nilai sel apa pun berubah dalam rentang dengan kode VBA


panah gelembung kanan biru Jalankan atau panggil makro ketika nilai sel tertentu berubah dengan kode VBA

Untuk menjalankan kode makro dengan mengubah nilai sel, kode VBA berikut dapat membantu Anda, lakukan seperti ini:

1. Klik kanan tab lembar yang ingin Anda jalankan makro jika nilai sel berubah, lalu pilih Lihat kode dari menu konteks, dan di buka Microsoft Visual Basic untuk aplikasi jendela, salin dan tempel kode berikut ke dalam Modul kosong:

Kode VBA: Jalankan makro saat nilai sel berubah:

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

doc menjalankan makro jika sel berubah 1

Note: Pada kode di atas, A1 adalah sel spesifik tempat Anda ingin menjalankan kode, Mymakro adalah nama makro yang ingin Anda jalankan. Harap ubah sesuai kebutuhan Anda.

2. Dan kemudian simpan dan tutup jendela kode, sekarang, saat Anda memasukkan atau mengubah nilai di sel A1, kode tertentu akan dipicu sekaligus.


panah gelembung kanan biru Jalankan atau panggil makro saat nilai sel apa pun berubah dalam rentang dengan kode VBA

Jika Anda ingin menjalankan atau memicu makro saat ada nilai sel yang berubah dalam rentang sel, kode berikut dapat membantu Anda.

1. Klik kanan tab lembar yang ingin Anda jalankan makro jika nilai sel berubah, lalu pilih Lihat kode dari menu konteks, dan di buka Microsoft Visual Basic untuk aplikasi jendela, salin dan tempel kode berikut ke dalam Modul kosong:

Kode VBA: Jalankan makro saat nilai sel apa pun berubah dalam rentang:

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

doc menjalankan makro jika sel berubah 2

Note: Pada kode di atas, A1: B100 adalah sel spesifik tempat Anda ingin menjalankan kode, Mymakro adalah nama makro yang ingin Anda jalankan. Harap ubah sesuai kebutuhan Anda.

2. Dan kemudian simpan dan tutup jendela kode, sekarang, ketika Anda memasukkan atau mengubah nilai di sel siapa pun dari A1: B100, kode tertentu akan dieksekusi sekaligus.


Hapus semua makro dari beberapa buku kerja

Kutools untuk Excel's Hapus Batch Semua Makro utilitas dapat membantu Anda untuk menghapus semua makro dari beberapa buku kerja yang Anda butuhkan. Unduh dan uji coba gratis Kutools for Excel sekarang!

Kutools untuk Excel: dengan lebih dari 300 add-in Excel yang praktis, gratis untuk dicoba tanpa batasan dalam 30 hari. Unduh dan uji coba gratis Sekarang!


Artikel terkait:

Bagaimana cara menjalankan makro secara otomatis sebelum mencetak di Excel?

Bagaimana cara menjalankan makro berdasarkan nilai sel di Excel?

Bagaimana cara menjalankan makro berdasarkan nilai yang dipilih dari daftar drop-down di Excel?

Bagaimana cara menjalankan makro dengan mengklik hyperlink di Excel?

Bagaimana cara menjalankan makro saat lembar dipilih dari buku kerja?

Alat Produktivitas Kantor Terbaik

馃 Kutools AI Ajudan: Merevolusi analisis data berdasarkan: Eksekusi Cerdas   |  Hasilkan Kode  |  Buat Rumus Khusus  |  Analisis Data dan Hasilkan Grafik  |  Aktifkan Fungsi Kutools...
Fitur Populer: Temukan, Sorot, atau Identifikasi Duplikat   |  Hapus Baris Kosong   |  Gabungkan Kolom atau Sel tanpa Kehilangan Data   |   Putaran tanpa Formula ...
Pencarian Super: VLookup Beberapa Kriteria    VLookup Nilai Berganda  |   VLookup di Beberapa Lembar   |   Pencarian Fuzzy ....
Daftar Drop-down Lanjutan: Buat Daftar Drop Down dengan Cepat   |  Daftar Drop Down yang Bergantung   |  Multi-pilih Drop Down List ....
Manajer Kolom: Tambahkan Jumlah Kolom Tertentu  |  Pindahkan Kolom  |  Alihkan Status Visibilitas Kolom Tersembunyi  |  Bandingkan Rentang & Kolom ...
Fitur Unggulan: Fokus Kisi   |  Tampilan Desain   |   Bar Formula Besar    Manajer Buku Kerja & Lembar   |  Perpustakaan Sumberdaya (Teks otomatis)   |  Pemetik tanggal   |  Gabungkan Lembar Kerja   |  Enkripsi/Dekripsi Sel    Kirim Email berdasarkan Daftar   |  Filter Super   |   Filter Khusus (filter tebal/miring/coret...) ...
15 Perangkat Teratas12 Teks Tools (Tambahkan Teks, Hapus Karakter, ...)   |   50 + Grafik jenis (Gantt Chart, ...)   |   40+ Praktis Rumus (Hitung usia berdasarkan ulang tahun, ...)   |   19 Insersi Tools (Masukkan Kode QR, Sisipkan Gambar dari Jalur, ...)   |   12 Konversi Tools (Angka ke Kata, Konversi Mata Uang, ...)   |   7 Gabungkan & Pisahkan Tools (Lanjutan Gabungkan Baris, Pisahkan Sel, ...)   |   ... dan banyak lagi

Tingkatkan Keterampilan Excel Anda dengan Kutools for Excel, dan Rasakan Efisiensi yang Belum Pernah Ada Sebelumnya. Kutools for Excel Menawarkan Lebih dari 300 Fitur Lanjutan untuk Meningkatkan Produktivitas dan Menghemat Waktu.  Klik Di Sini untuk Mendapatkan Fitur yang Paling Anda Butuhkan...

Deskripsi Produk


Tab Office Membawa antarmuka Tab ke Office, dan Membuat Pekerjaan Anda Jauh Lebih Mudah

  • Aktifkan pengeditan dan pembacaan tab di Word, Excel, PowerPoint, Publisher, Access, Visio, dan Project.
  • Buka dan buat banyak dokumen di tab baru di jendela yang sama, bukan di jendela baru.
  • Meningkatkan produktivitas Anda sebesar 50%, dan mengurangi ratusan klik mouse untuk Anda setiap hari!
Comments (19)
Rated 5 out of 5 1 ratings
This comment was minimized by the moderator on the site
Good afternoon, could you help me, I have been trying to create a macro for some time, I create a macro that in cell c5, (makes a simple macro), when pressed it changes the color of a column x, if cell c5 is positioned in another cell like f8, how can I make the macro follow the cell to the new position, and be able to execute it, without the macro entering the code and changing the position internally. thanks greetings
Rated 5 out of 5
This comment was minimized by the moderator on the site
It worked, thanks for the help
This comment was minimized by the moderator on the site
This is exactly what I was looking go for. When a user enters a value in a cell, a simple sort macro would run. The macro runs fine on its own but I get an invalid use of property error using the suggested code.

What could be the issue?
This comment was minimized by the moderator on the site
I am using the code below to hide various columns depending on the selection from a drop-down box located in cell C3, but after a calculation is performed anywhere in the worksheet, ALL columns become UNHIDDEN. How do I fix this?

Private Sub Worksheet_Change(ByVal Target As Range)

Columns("D:F").AutoFit

Dim Proj1 As String
Dim Proj2 As String
Dim Proj3 As String
Dim Proj4 As String
Dim Proj5 As String
Dim Proj6 As String
Dim Proj7 As String
Dim Proj8 As String
Dim Proj9 As String
Dim Proj10 As String

Proj1 = ActiveWorkbook.Sheets("Projects").Range("A1").Value
Proj2 = ActiveWorkbook.Sheets("Projects").Range("A2").Value
Proj3 = ActiveWorkbook.Sheets("Projects").Range("A3").Value
Proj4 = ActiveWorkbook.Sheets("Projects").Range("A4").Value
Proj5 = ActiveWorkbook.Sheets("Projects").Range("A5").Value
Proj6 = ActiveWorkbook.Sheets("Projects").Range("A6").Value
Proj7 = ActiveWorkbook.Sheets("Projects").Range("A7").Value
Proj8 = ActiveWorkbook.Sheets("Projects").Range("A8").Value
Proj9 = ActiveWorkbook.Sheets("Projects").Range("A9").Value
Proj10 = ActiveWorkbook.Sheets("Projects").Range("A10").Value

Dim xRG As Range
Dim xHRow As Integer
Set xRG = Range("C3")
If Not Intersect(Target, xRG) Is Nothing Then

If Target.Value = Proj1 Then
Application.Columns("E:F").Hidden = True
Application.Columns("D").Hidden = False

ElseIf Target.Value = Proj2 Then
Range("D:D, F:F").EntireColumn.Hidden = True
Application.Columns("E").Hidden = False

End If
End If
End Sub
This comment was minimized by the moderator on the site
I am trying to automate 1 workbook (BOM) when another workbook(Parts Status) makes changes. The Parts status file updates every 15 minutes. I need to know how to automate a specific column when these changes occur? Any ideas
This comment was minimized by the moderator on the site
Hi guys, I am solving the following issue: I want to scrape a title of website when link inserted in column A and put this value to relevant cell (next to it) in column B. The issue seems to be that once I paste the website in column A, the code reruns the entire list from column A2 to "last row" as defined in the code. Is there any way to only modify column B once a single column A is modified? I.e. if Ipaste a link in column A36 I get a title in B36, regardless of whether the cell is in the middle of the used range or at the very bottom. I would like to use this without having to re-run multiple inputs as it currently stands; (i.e. the loop "for i =2 to last row")? Also, I would like to change the below from Modular macro i.e. sub to private sub reacting to change (i.e. intersect function) where the 'target' is any cell from A:A range. Many thanks!


Sub get_title_header()



Dim wb As Object

Dim doc As Object

Dim sURL As String

Dim lastrow As Long

lastrow = Sheet1.Cells(Rows.Count, "A").End(xlUp).row



For i = 2 To lastrow

Set wb = CreateObject("internetExplorer.Application")

sURL = Cells(i, 1)



wb.navigate sURL

wb.Visible = False



While wb.Busy

DoEvents

Wend



''HTML document

Set doc = wb.document



Cells(i, 2) = doc.Title



On Error GoTo err_clear

Cells(i, 3) = doc.GetElementsByTagName("h1")(0).innerText

err_clear:

If Err <> 0 Then

Err.Clear

Resume Next

End If

wb.Quit

Range(Cells(i, 1), Cells(i, 3)).Columns.AutoFit

Next i



End Sub




Thank YOU!
This comment was minimized by the moderator on the site
Hola buenas tardes
quisiera saber el codigo para que se active una macro cuando cambia el valor de una celda de una columna, pero este valor cambia por formula,sin que el usuario introduzca ningun valor.
This comment was minimized by the moderator on the site
The macro that you are calling where do you have this located? I have mine in the Modules folder but when I put any value in any cell of the worksheet I get a Compile error saying:
Expected variable or procedure, not module.

Please help.
This comment was minimized by the moderator on the site
Hi, DrCartwright,
Sorry for replying to you so late.
Yes, as you said, the macro code should be located into the Module, and you need to change the code name to your own name as following screenshot shown:
This comment was minimized by the moderator on the site
Hey, useful code. I was thinking if it was possible to insert a ring around the cells that are changed as they are changed? And reset the circles every Monday ?
This comment was minimized by the moderator on the site
Hello, Kevin,
Here is no idea for solving your problem, if you have any good solution, please comment here.
This comment was minimized by the moderator on the site
Worked great for me! My dilemma is that I want it to be a relative reference macro and there is a difference between hitting enter to save the entry and delete to clear the cell.
There are no comments posted here yet
Load More
Please leave your comments in English
Posting as Guest
Rate this post:
0   Characters
Suggested Locations