sebetulnya hasilnya bukan 11
tetapi karena hasil dituliskan SELALU di cell A2 terus
Range("A1").Offset(1, 0) = hasil

maka hasil sebelumnya terhapus olh hasil berikutnya

seharusnya, penulisan harus ikut berlari ke bawah
dari A2 ke A3 dst

anda harus punya variable pencacah / counter
misalnya

Private Sub CommandButton1_Click()
   Dim c As Range, n As Long
   
   For Each c In Worksheets("Sheet1").Range("A1:A15")
      If c.Value = "a" Then
         n = n + 1
         Range("A1").Offset(n, 0).Value = c.Offset(0, 1).Value
      End If
   Next c
End Sub




----- Original Message ----- 
From: Edo Ymail 
To: belajar-excel@yahoogroups.com 
Sent: Thursday, January 28, 2010 4:28 PM
Subject: [belajar-excel] Belajar membuat perintah macro

Dear master XL, 
Saya sedang mencoba-coba untuk belajar membuat perintah macro sederhana, 
yang saya coba buat adalah macro untuk membuat unique list dimana dari list 
yang ada di Sheet 1 akan saya coba untuk ditampilkan di Sheet 2.
 
Adapun perintah macro yang saya buat adalah :
 
Private Sub CommandButton1_Click()
Dim c As Range
 
For Each c In Worksheets("Sheet1").Range("A1:A15")
   If c.Value = "a" Then
    Range("A1").Offset(1, 0).Value = c.Offset(0, 1).Value
   End If
Next c
End Sub 
 
Hasil yang saya harapkan adalah pada Sheet 2 cell A1 sampai kebawah adalah 1, 
4, 1, 5, 11. 
Tetapi dari perintah yang saya coba diatas hanya menghasilkan angka 11 di 
Sheet2 cell A2. 
 
Mohon bantuannya dimana kira-kira letak kesalahannya? Terima Kasih

Kirim email ke