Dear Be-Excellers,
Salah satu kesulitan dalam bermacro adalah pemahaman object dan variabel serta 
penulisannya.
Meskipun Mr. Kid telah banyak bercerita mengenai VBA, namun ada satu hal yang 
buat saya "masih mengganjal" (ga sesuai dengan nalar orang awam), yaitu 
bagaimana penulisan range yang benar dan bagaimana penggunaannya.

Macro ini saya kutip dari "jawaban" pak Zainal sebelumnya. Tujuan dari macro di 
bawah ini adalah untuk mengcopy beberapa sel yang tersebar ke dalam satu Range 
yang berurutan, dengan bantuan Range("E1").
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As 
Boolean)
    Dim rgAsal As Range, rg As Range, i As Integer
    Set rgAsal = Range([E1])  'jika ditulis Set rgAsal = [E1] maka hasilnya 
akan salah
    i = -1
    For Each rg In rgAsal
    i = i + 1
    [F1].Offset(i, 0) = rg.Value
    Next
    
    Cancel = True
End Sub

Pertanyaan : 
Jika penulisan range [F1]cukup ditulis [F1]saja maka seharusnya 
Range([E1])cukup ditulis [E1]saja. 
Tetapi jika pada VBE Sheet Range([E1])kita ganti dengan [E1]maka hasilnya tidak 
sesuai dengan yang diharapkan. 
Mengapa ?

Untuk lebih jelasnya saya lampirkan file yang berisi macro tersebut.

Salam,
HK 

Attachment: Penulisan Range.xlsm
Description: application/vnd.ms-excel.sheet.macroenabled.12

Kirim email ke