oalah... trit ini bukan kuis to... ternyata kasus... maaf ya, mode oon lagi
on nih (padahal on terus n jarang off wakakaka)

baiklah...

Bagian ini :
    With ActiveWorkbook.Names("Data")
       .RefersToR1C1 = "=OFFSET(Database!R2C1,0,0,COUNTA(Database!C1)-1,5)"
    End With
    *With ListData*
*        .RowSource = "Data"*
*    End With*
prosesnya kan membuat nama range lalu nama range itu dijadikan sumber
rowsource.

Coba perhatikan, yang diset ke properti rowsource itu teks nama range nya,
tapi yang dipakai adalah item-item dalam nama range itu.
Artinya, yang dibutuhkan properti RowSource adalah alamat lengkap item-item
untuk listnya.

Nama range merujuk ke suatu range dengan lengkap. Ada nama sheetnya, alamat
range dari dan sampainya.
Berarti, kalau properti rowsource diberi alamat lengkap langsung juga bisa.

Untuk blok di atas bisa begini :

With ActiveWorkbook.sheets("Database").range("a1").currentregion   'data
header mulai a1 sebanyak 1 baris kan ya
     *ListData**.RowSource* = .offset(1).resize( .rows.count-1 ).address(
external:=true )
end with

atau mau pakai nama range sementara :
With ActiveWorkbook.sheets("Database").range("a1").currentregion   'data
header mulai a1 sebanyak 1 baris kan ya
     .offset(1).resize( .rows.count-1 ).name="_myData_"     'buat nama range
     *ListData**.RowSource* = "_myData_"                   'pake nama
rangenya untuk rowsource
     .parent.parent.names("_myData_").delete            'hapus nama
rangenya
     'catatan :
     '    .parent ke-1 dari range naik 1 level ke sheet
    '    .parent ke-2 dari hasil .parent ke-1 alias posisi level object
sheet naik 1 level ke workbook
     'nah... karena disini pakai activeworkbook, alias yang kerja adalah
workbook yang aktif, maka bunyi :
    '    .parent.parent.names("_myData_").delete   bisa diganti dengan
bunyi :
    '    activeworkbook.names("_myData_").delete
    'tapi hati-hati dan beneran serius memperhatikan workbook mana yang
aktif ya
end with

Kalau baris with blabla ndak merujuk ke workbook aktif, ya sebutkan saja
nama workbooknya
   workbooks("namanya").names("_myData_").delete

ya gitulah, diatur-atur saja object mana yang punya anak yang dituju untuk
digunakan.

moga-moga ndak buat pening ya...
kalo pening, jangan minum obat, tapi jauhilah komputer dan bermainlah
bersama keluarga masing-masing.

Wassalam,
Kid.












2015-02-11 19:33 GMT+11:00 Hendrik Karnadi hendrikkarn...@yahoo.com
[belajar-excel] <belajar-excel@yahoogroups.com>:

>
>
> Hai Jack,
> Hirarkinya begini...
> Workbook FrmInput_Edit....terdiri dari 2 sheets, yaitu
> - Product
> - Database (disembunyikan)
> Dalam sheet Database ada range bernama Data.
> Jadi ActiveWorkbook.Names ("Data") = Range("Data"), walaupun
> tidak menyebutkan nama Sheetnya.
> Inti pertanyaannya adalah bagaimana menuliskan/menjadikan Range("Data")
> sebagai RowSource untuk ListData...tanpa mendefiniskannya terlebih dahulu
> melalui Worksheet (Formulas, Manager),
>
> Salam,
> HK
>
> Sent from Samsung Mobile
>
>
> -------- Original message --------
> From: "Jack Carmelo jackcarm...@yahoo.co.id [belajar-excel]"
> Date:11/02/2015 14:31 (GMT+07:00)
> To: belajar-excel@yahoogroups.com
> Subject: Re[2]: [belajar-excel] Menentukan Row Source pada ListBox dalam
> USerForm
>
>
>
> Mr Kid dan Mas Hendrik
> Waduh,mas Hendrik saja bingung...
> Saya coba perhatikan dari tadi malah puyeng...
> Jadi ceritanya itu ada workbook yang lain yang sedang aktif dengan nama
> Data ya. Ataukah workbook yang bersangkutan namanya Data? Soalnya saya
> lihat ada
> With activeworkbook.Names = "Data"
> Datanya yang akan di isi pada ListData diambil data workbook Data tadi
> yang ada pada sheet Database.
> Sory saya coba hubungkan dengan tulisan mr Kid tentang ComboBox.
> Kayaknya seru juga untuk bahan pembelajaran. Kalau saya salah mohon maaf
> dan mohon penjelasannya. Hahaha,, masih belum paham benar tentang excel.
> Maklum kerjaan tidak ada hubungannya dengan excel jadi hanya mencari
> masalah excel untuk dipertanyakan dan dipelajari.
> --
> Salam Sehat Selalu Dari Papua Timika
> Jack
> Rabu, 11 Februari 2015, 04:19PM +0900 dari "Hendrik Karnadi
> hendrikkarn...@yahoo.com [belajar-excel]" <belajar-excel@yahoogroups.com>:
> 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
> -------- Original message --------
> From: "'Mr. Kid' mr.nm...@gmail.com [belajar-excel]"
> Date:11/02/2015  12:54  (GMT+07:00)
> To: BeExcel
> Subject: Re: [belajar-excel] Menentukan Row Source pada ListBox dalam
> USerForm
> 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