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:
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







0 komentar:
Posting Komentar