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