Menjawab pertanyaan Saudara Huda melalui email tentang macro VBA yang otomatis dijalankan saat sebuah sel berubah nilainya. Berikut gambarannya:
Yang dishading hijau adalah sel-sel yang sudah ada formulanya di mana jika sel A1 berubah nilainya, maka isi tabel tersebut langsung berubah. Jadi bagaimana caranya jika sel A1 dirubah nilainya menjadi 1, 2, atau 3 dan otomatis baris yang nilainya kosong (baris 26 s/d 33) langsung ter-hidden?
Berikut caranya:
- Di Excel silahkan buka Visual Basic Editor pada menu Tools > Macro > Visual basic Editor (Alt + F11).
- Klik ganda pada sheetnya lalu masukkan code VBAnya:
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Address = "$A$1" Then
Worksheet_Calculate 'macro yang akan dijalankan saat sel A1 berubah
End If
End Sub
- Pilih Insert > Module dan tuliskan code VBA berikut:
Sub Worksheet_Calculate()
Dim Rng As Integer
Range("BASTB!H24:H33").Select 'Menentukan baris mana saja yang akan di hide
Selection.EntireRow.Hidden = False 'Baris akan di unhide
Rng = Selection.Rows.Count
ActiveCell.Offset(0, 0).Select
Application.ScreenUpdating = True
For i = 1 To Rng
If ActiveCell.Value = "-" Then 'Tanda "-" bisa diganti dengan 0 atau "teks apa saja"
Selection.EntireRow.Hidden = True 'Baris akan di hide
ActiveCell.Offset(1, 0).Select
Else
ActiveCell.Offset(1, 0).Select
End If
Next i
'Jika ada baris lain yang akan dihide, maka tambahkan lagi codingnya
Range("BASTB!H41:H50").Select 'Menentukan baris mana saja yang akan di hide
Selection.EntireRow.Hidden = False 'Baris akan di unhide
Rng = Selection.Rows.Count
ActiveCell.Offset(0, 0).Select
Application.ScreenUpdating = True
For i = 1 To Rng
If ActiveCell.Value = "-" Then 'Tanda "-" bisa diganti dengan 0 atau "teks apa saja"
Selection.EntireRow.Hidden = True 'Baris akan di hide
ActiveCell.Offset(1, 0).Select
Else
ActiveCell.Offset(1, 0).Select
End If
Next i
'Akhiri dengan menambahkan coding di bawah ini
Range("BASTB!A1").Select 'menempatkan sel kembali ke A1
End Sub
- Jika ada beberapa baris yang akan dihide, maka ulangi code Simpan file tersebut dan silahkan coba
Terima kasih, semoga bermanfaat. numpang copy ya...
Silahkan gan... senang bisa bermanfaat...
Tengkyu gan ... bermanfaat nich ..
Please, pencerahannya mas
logikanya seperti ini:
"kalau sell B1 = kosong maka
macro1 dijalankan otomatis"
tolong kami untuk code makronya
thanks
Itu kan hidden baris, kalo kolom apakah bisa?
klo bisa tolong bantuannya dong
maaf bro, saya coba dengan data saya macronya memang jalan tp jumlah row yg hide sama semua untuk tiap perubahan sel, mengikuti sel yg pertama kali. tidak mengikuti jumlah row yg kosong. mohon pencerahannya bro...thanks
ophe-serpong
saya membuat simulasi angsuran kredit yang terdiri dari 3 tabs, angs flat, angs menurun, angs anuitas..saya ingin menggunakan macro diatas di setiap tabs nya..dan saya udah coba macro diatas, trouble di worksheet_calculate nya.."ambigues"
kalau yang di hiden row pada sheet 2 ,untuk penambahan coding'anya gimana gan...??