Sama2 Mr. Kid....
Sebenarnya itu pertanyaan dari teman yg blm bisa saya jwb....
Krn saya baru main UserForm di permukaan....
Sebenarnya ada pertanyaan lain yang juga blm bisa saya jawab, apa bedanya 
UserForm_lnitialize dan Activate.

Terima kasih.

Salam,
HK


Sent from Samsung Mobile

<div>-------- Original message --------</div><div>From: "'Mr. Kid' 
mr.nm...@gmail.com [belajar-excel]" <belajar-excel@yahoogroups.com> 
</div><div>Date:11/02/2015  12:54  (GMT+07:00) </div><div>To: BeExcel 
<belajar-excel@yahoogroups.com> </div><div>Subject: Re: [belajar-excel] 
Menentukan Row Source pada ListBox dalam USerForm </div><div>
</div>Dear BeExceller,

ayo yang suka VBA...
semangat untuk me-reply kuis ini ya...

makasih Pak HK, kuisnya bisa menjadi salah satu cara untuk belajar

Wassalam,
Kid.




2015-02-11 14:10 GMT+11:00 hendrik karnadi hendrikkarn...@yahoo.com 
[belajar-excel] <belajar-excel@yahoogroups.com>:
 
Rakan-rekan Be-Excellers,

Terlampir adalah hasil utak atik UserForm yang menjadi salah satu bahasan pada 
Kopdar 2 (msh perlu perbaikan disana sini).
Dalam menentukan Row Source pada ListBox dalam UserForm tersebut saya masih 
mengacu pada Worksheet Range dengan menggunakan menu Formulas,  Name Manager 
(Data), mis, :
=OFFSET(Database!$A$2,0,0,COUNTA(Database!$A:$A)-1,5)

Krn ada kemungkinan isi data dihapus hingga tinggal judulnya saja maka dalam 
UserForm_Activate saya buat macro seperti ini:
Private Sub UserForm_Activate()
    If Sheets("Database").Range("A2").Value = "" Then
        Me.Hide
        MsgBox "Data BLM ADA", vbInformation + vbOKOnly, "PESAN"
        Exit Sub
    End If
    With ActiveWorkbook.Names("Data")
       .RefersToR1C1 = "=OFFSET(Database!R2C1,0,0,COUNTA(Database!C1)-1,5)"
    End With
    With ListData
        .RowSource = "Data"
    End With
    REC_NO.Value = 1
    SpinButton1.Value = REC_NO.Value
    ListData.ListIndex = REC_NO.Value - 1
End Sub

Tentunya akan lebih baik jika dalam menentukan Range("Data") bisa kita gunakan 
macro, seperti ini :
Dim Dat as Range
Set Dat = Sheets("Database").Range("A1").CurrentRegion
Set Dat = Dat.Offset(1,0).Resize(Dat.Rows.Count-1, Dat.Columns.Count)

Pertanyaan saya:
Bagaimana penulisan "Data" pada code yang berwarna hijau?

Terima kasih.

Salam,
HK

NB: password untuk buka macro dan worksheet "Database"nya adalah "hk"(tanpa 
spasi)

 

  • Re: [belajar-exce... Hendrik Karnadi hendrikkarn...@yahoo.com [belajar-excel]
    • Re: [belajar... 'Mr. Kid' mr.nm...@gmail.com [belajar-excel]
    • Re[2]: [bela... Jack Carmelo jackcarm...@yahoo.co.id [belajar-excel]
    • Re: Re[2]: [... Hendrik Karnadi hendrikkarn...@yahoo.com [belajar-excel]
      • Re[3]: R... Jack Carmelo jackcarm...@yahoo.co.id [belajar-excel]
      • Re: Re[2... 'Mr. Kid' mr.nm...@gmail.com [belajar-excel]
        • Re: ... hendrik karnadi hendrikkarn...@yahoo.com [belajar-excel]
          • ... 'Mr. Kid' mr.nm...@gmail.com [belajar-excel]
            • ... hendrik karnadi hendrikkarn...@yahoo.com [belajar-excel]
    • Fwd: Re: Re[... Hendrik Karnadi hendrikkarn...@yahoo.com [belajar-excel]
    • Re: Re[2]: [... Hendrik Karnadi hendrikkarn...@yahoo.com [belajar-excel]

Kirim email ke