Minggu, 22 September 2013

[belajar-excel] Digest Number 2551

Milis Belajar Microsoft Excel

15 New Messages

Digest #2551
1a
Merekap jumlah les murid by "Tjahya Hartono" tjahyahartono
1b
Re: Merekap jumlah les murid [1 Attachment] by "Mr. Kid" nmkid.family@ymail.com
2b
Re: Bls: [belajar-excel] Mencocokkan Nomor by "hendrik karnadi" hendrikkarnadi
4a
Re: Menyambung formulaR1C1 di VBA (tip) by "Mr. Kid" nmkid.family@ymail.com
4b
Re: Menyambung formulaR1C1 di VBA (tip) by "Mr. Kid" nmkid.family@ymail.com
4c
Re: Menyambung formulaR1C1 di VBA (tip) by "Hendrik Karnadi" hendrikkarnadi
5a
Data sebelum dan sesudah by "A. Zainal H." akhmad_bjb
5b
Re: Data sebelum dan sesudah [1 Attachment] by "hendrik karnadi" hendrikkarnadi
5c
5d
Re: Data sebelum dan sesudah [1 Attachment] by "Mr. Kid" nmkid.family@ymail.com

Messages

Sat Sep 21, 2013 12:08 pm (PDT) . Posted by:

"Tjahya Hartono" tjahyahartono



 
Salam Be Excellers,

Saya mau menanyakan bagaimana caranya meringkas jumlah murid yang les dengan menggunakan formula, karena biasanya saya menggunakan pivot dan memindahkannya secara manual, lebih jelas yang saya maksudkan ada pada sheet "rekapan les".

Hormat saya

Tjahya Hartono

Sat Sep 21, 2013 7:41 pm (PDT) . Posted by:

"Mr. Kid" nmkid.family@ymail.com

Hai Tjahya,

File terlampir menggunakan fungsi Sumproduct untuk Jam per nama murid per
nama guru.
Total per nama murid dihitung per baris dengan SumIF berdasar nama kolom
Rupiah.
Total per keluarga murid membutuhkan id keluarga setiap murid. Murid yang
satu keluarga memiliki id keluarga yang sama.
Total per keluarga dihitung berdasar (1 kriteria) id keluarga tersebut,
yaitu total per nama murid dibaris sebelumnya (jika id keluarga sama)
ditambah total per nama murid dibaris tersebut. Hal ini sering disebut
sebagai running total in id keluarga karena hitungan total dilakukan per
keluarga sampai dibaris itu.

kira-kira, kalau semua tampilan rekap bisa ditampilkan dalam pivot table
gimana ? mau gak ?

Wassalam,
Kid.

2013/9/22 Tjahya Hartono <tjahyahartono@yahoo.co.id>

> **
>
>
>
>
> Salam Be Excellers,
>
> Saya mau menanyakan bagaimana caranya meringkas jumlah murid yang les
> dengan menggunakan formula, karena biasanya saya menggunakan pivot dan
> memindahkannya secara manual, lebih jelas yang saya maksudkan ada pada
> sheet "rekapan les".
>
>
>
> Hormat saya
>
>
>
> Tjahya Hartono
>
>
>
>

Sat Sep 21, 2013 6:48 pm (PDT) . Posted by:

"Nora Ismanti" noraismanti

Terima Pak Hendrik. Ini yang saya harapkan. Code VBA dari Bapak ini sangat bermanfaat bagi saya. Semoga Bapak mendapatkan limpahan rahmat dan pahala dari Yang Maha Kuasa, Amin.

________________________________
Dari: hendrik karnadi <hendrikkarnadi@yahoo.com>
Kepada: "belajar-excel@yahoogroups.com" <belajar-excel@yahoogroups.com>
Dikirim: Jumat, 20 September 2013 21:36
Judul: Re: [belajar-excel] Mencocokkan Nomor [1 Attachment]


 
Silakan dikeker pada sheet peserta.

Salam,
HK

________________________________
From: Nora Ismanti <noraismanti@yahoo.com>
To: "belajar-excel@yahoogroups.com" <belajar-excel@yahoogroups.com>
Sent: Friday, 20 September 2013, 9:17
Subject: [belajar-excel] Mencocokkan Nomor [1 Attachment]


 
Salam,
Kepada para master excel, mohon dibantu

Saya ingin menjodohkan nomor pada sheet PESERTA kolom A dengan nomor di sheet DATA kolom A. Jika nomor pada sheet PESERTA cocok dengan nomor pada sheet DATA maka pindahkan nomor pada sheet PESERTA ke sheet DATA kolom N sesuai dengan baris nomor yang cocok/jodoh tersebut. Sedangkan nomor pada sheet PESERTA yang tidak cocok dengan nomor pada sheet DATA tetap berada di tempatnya (TIDAK DIPINDAHKAN). Proses ini dilakukan setelah saya menekan tombol RUN.

Selengkapnya lihat lampiran.

Video prosesnya di link
berikut:
https://app.box.com/s/rr68k8px2zbnzxarhcj6

Catatan: data yang disajikan hanya sekedar contoh.
Data yang ada sangat banyak.

Atas perhatian dan bantuan segenap member, saya ucapkan terima kasih.

Sat Sep 21, 2013 11:46 pm (PDT) . Posted by:

"hendrik karnadi" hendrikkarnadi

Sama2. Semoga VBA nya bisa dikembangkan lebih lanjut sehingga bisa ikutan menjawab pertanyaan dari rekan yang lain.

Salam,
HK

________________________________
From: Nora Ismanti <noraismanti@yahoo.com>
To: belajar-excel@yahoogroups.com
Sent: Sunday, 22 September 2013, 5:25
Subject: Bls: [belajar-excel] Mencocokkan Nomor


 
Terima Pak Hendrik. Ini yang saya harapkan. Code VBA dari Bapak ini sangat bermanfaat bagi saya. Semoga Bapak mendapatkan limpahan rahmat dan pahala dari Yang Maha Kuasa, Amin.

________________________________
Dari: hendrik karnadi <hendrikkarnadi@yahoo.com>
Kepada: "belajar-excel@yahoogroups.com" <belajar-excel@yahoogroups.com>
Dikirim: Jumat, 20 September 2013 21:36
Judul: Re: [belajar-excel] Mencocokkan Nomor [1 Attachment]


 
Silakan dikeker pada sheet peserta.

Salam,
HK

________________________________
From: Nora Ismanti <noraismanti@yahoo.com>
To: "belajar-excel@yahoogroups.com" <belajar-excel@yahoogroups.com>
Sent: Friday, 20 September 2013, 9:17
Subject: [belajar-excel] Mencocokkan Nomor [1 Attachment]


 
Salam,
Kepada para master excel, mohon dibantu

Saya ingin menjodohkan nomor pada sheet PESERTA kolom A dengan nomor di sheet DATA kolom A. Jika nomor pada sheet PESERTA cocok dengan nomor pada sheet DATA maka pindahkan nomor pada sheet PESERTA ke sheet DATA kolom N sesuai dengan baris nomor yang cocok/jodoh tersebut. Sedangkan nomor pada sheet PESERTA yang tidak cocok dengan nomor pada sheet DATA tetap berada di tempatnya (TIDAK DIPINDAHKAN). Proses ini dilakukan setelah saya menekan tombol RUN.

Selengkapnya lihat lampiran.

Video prosesnya di link
berikut:
https://app.box.com/s/rr68k8px2zbnzxarhcj6

Catatan: data yang disajikan hanya sekedar contoh.
Data yang ada sangat banyak.

Atas perhatian dan bantuan segenap member, saya ucapkan terima kasih.

Sat Sep 21, 2013 7:56 pm (PDT) . Posted by:

"Mr. Kid" nmkid.family@ymail.com

Hai Bayu Arsyad,

Jumlah hari masa berlaku yang telah dilalui suatu nilai poin (yang dimulai
sejak 1 hari setelah tanggal transaksi) adalah tanggal hari ini dikurangi
tanggal transaksi.
Jika masa berlaku adalah 90 hari, berarti jumlah hari masa berlaku yang
telah dilalui lebih dari masa berlaku 90 hari tidak perlu dihitung dalam
total poin. Artinya, yang dihitung dalam total poin adalah seluruh poin
milik satu client yang masa berlaku yang telah dilalui masih kurang dari
atau sama dengan (<=) masa berlaku 90 hari.
Dengan demikian, maka ada tuntutan terhadap tabel data agar berisi seluruh
data transaksi minimal dalam 90 hari terakhir.

File terlampir.

Wassalam,
Kid.

2013/9/20 Bayu Arsyad <ske8ay@gmail.com>

> **
>
>
> Dear master2 excel
>
> Saya punya database transaksi, dimana para pelanggan akan mendapatkan poin
> pada tiap kali transaksinya. Saya ingin poin tersebut mempunyai masa
> berlaku, apabila pada berapa bulan berikutnya yang telah kita tentukan
> sendiri, poin yang didapatkan pada waktu yang lalu, otomatis akan hilang
> dengan sendirinya ketika masa berlaku telah tiba.
> Agar lebih jelasnya, mohon lihat file terlampir
>
> Trims pada master2 yang akan membantu
>
>
>

Sun Sep 22, 2013 12:34 am (PDT) . Posted by:

"Bayu Arsyad"

Trims Mr. Kid
Untuk hasilnya sudah sesuai harapan, tetapi dalam hal teknisnya saya
mengharapkan menggunakan VBA. Karena jika datanya sudah ribuan proses
komputer akan lelet jika menggunakan formula sumproduct yang dicopykan
sampe baris xxxx.

Saya mencoba menggunakan proses loop dengan logika cari dulu baris pertama
pada tanggal 90 hari kebelakang dari tanggal hari ini, kemudian cari nama
yang mendapatkan poin pada baris pertama tanggal tersebut. Lalu kurangkan
total poin dengan poin yang telah diperoleh pada tanggal tersebut. Lalu
lanjutkan dengan baris berikutnya. (tanggal yang sama tetapi nama client
yang beda lagi)
Tapi hasil percobaan saya yang di proses hanya baris pertamanya terus.
Belum begitu mudeng dengan syntax2 loop.... :(

File terlampir sudah disempitkan hanya transaksi untuk 2 nama yang sudah
jatuh tempo
Harap Mr. Kid dan kawan2 bisa berikan pencerahan
Trims

2013/9/22 Mr. Kid <mr.nmkid@gmail.com>

> **
>
>
>
> Hai Bayu Arsyad,
>
> Jumlah hari masa berlaku yang telah dilalui suatu nilai poin (yang dimulai
> sejak 1 hari setelah tanggal transaksi) adalah tanggal hari ini dikurangi
> tanggal transaksi.
> Jika masa berlaku adalah 90 hari, berarti jumlah hari masa berlaku yang
> telah dilalui lebih dari masa berlaku 90 hari tidak perlu dihitung dalam
> total poin. Artinya, yang dihitung dalam total poin adalah seluruh poin
> milik satu client yang masa berlaku yang telah dilalui masih kurang dari
> atau sama dengan (<=) masa berlaku 90 hari.
> Dengan demikian, maka ada tuntutan terhadap tabel data agar berisi seluruh
> data transaksi minimal dalam 90 hari terakhir.
>
> File terlampir.
>
> Wassalam,
> Kid.
>
>

>
>
>
>
>
> 2013/9/20 Bayu Arsyad <ske8ay@gmail.com>
>
>> **
>>
>>
>> Dear master2 excel
>>
>> Saya punya database transaksi, dimana para pelanggan akan mendapatkan
>> poin pada tiap kali transaksinya. Saya ingin poin tersebut mempunyai masa
>> berlaku, apabila pada berapa bulan berikutnya yang telah kita tentukan
>> sendiri, poin yang didapatkan pada waktu yang lalu, otomatis akan hilang
>> dengan sendirinya ketika masa berlaku telah tiba.
>> Agar lebih jelasnya, mohon lihat file terlampir
>>
>> Trims pada master2 yang akan membantu
>>
>>
>
>

--
Best Regard

Sun Sep 22, 2013 12:34 am (PDT) . Posted by:

"Bayu Arsyad"

maaf, file terlampir sebelumnya diralat.
yang sebenarnya pada file ini

trims

2013/9/22 Bayu Arsyad <ske8ay@gmail.com>

> Trims Mr. Kid
> Untuk hasilnya sudah sesuai harapan, tetapi dalam hal teknisnya saya
> mengharapkan menggunakan VBA. Karena jika datanya sudah ribuan proses
> komputer akan lelet jika menggunakan formula sumproduct yang dicopykan
> sampe baris xxxx.
>
> Saya mencoba menggunakan proses loop dengan logika cari dulu baris pertama
> pada tanggal 90 hari kebelakang dari tanggal hari ini, kemudian cari nama
> yang mendapatkan poin pada baris pertama tanggal tersebut. Lalu kurangkan
> total poin dengan poin yang telah diperoleh pada tanggal tersebut. Lalu
> lanjutkan dengan baris berikutnya. (tanggal yang sama tetapi nama client
> yang beda lagi)
> Tapi hasil percobaan saya yang di proses hanya baris pertamanya terus.
> Belum begitu mudeng dengan syntax2 loop.... :(
>
> File terlampir sudah disempitkan hanya transaksi untuk 2 nama yang sudah
> jatuh tempo
> Harap Mr. Kid dan kawan2 bisa berikan pencerahan
> Trims
>
>
> 2013/9/22 Mr. Kid <mr.nmkid@gmail.com>
>
> **
>>
>>
>>
>> Hai Bayu Arsyad,
>>
>> Jumlah hari masa berlaku yang telah dilalui suatu nilai poin (yang
>> dimulai sejak 1 hari setelah tanggal transaksi) adalah tanggal hari ini
>> dikurangi tanggal transaksi.
>> Jika masa berlaku adalah 90 hari, berarti jumlah hari masa berlaku yang
>> telah dilalui lebih dari masa berlaku 90 hari tidak perlu dihitung dalam
>> total poin. Artinya, yang dihitung dalam total poin adalah seluruh poin
>> milik satu client yang masa berlaku yang telah dilalui masih kurang dari
>> atau sama dengan (<=) masa berlaku 90 hari.
>> Dengan demikian, maka ada tuntutan terhadap tabel data agar berisi
>> seluruh data transaksi minimal dalam 90 hari terakhir.
>>
>> File terlampir.
>>
>> Wassalam,
>> Kid.
>>
>>
>>
>>
>>
>>
>>
>> 2013/9/20 Bayu Arsyad <ske8ay@gmail.com>
>>
>>> **
>>>
>>>
>>> Dear master2 excel
>>>
>>> Saya punya database transaksi, dimana para pelanggan akan mendapatkan
>>> poin pada tiap kali transaksinya. Saya ingin poin tersebut mempunyai masa
>>> berlaku, apabila pada berapa bulan berikutnya yang telah kita tentukan
>>> sendiri, poin yang didapatkan pada waktu yang lalu, otomatis akan hilang
>>> dengan sendirinya ketika masa berlaku telah tiba.
>>> Agar lebih jelasnya, mohon lihat file terlampir
>>>
>>> Trims pada master2 yang akan membantu
>>>
>>>
>>
>>
>
>
>
> --
> Best Regard
>

--
Best Regard

Sun Sep 22, 2013 12:38 am (PDT) . Posted by:

"Mr. Kid" nmkid.family@ymail.com

Hai Bayu Arsyad,

File terlampir masih belum pakai VBA.
Formula sederhana disisi data kemudian di-summary dengan pivot table, untuk
data sampai 900ribu record masih akan terasa ringan.
Coba saja untuk data sampai 900ribu record.

Wassalam,
Kid.

2013/9/22 Bayu Arsyad <ske8ay@gmail.com>

> **
>
>
> Trims Mr. Kid
> Untuk hasilnya sudah sesuai harapan, tetapi dalam hal teknisnya saya
> mengharapkan menggunakan VBA. Karena jika datanya sudah ribuan proses
> komputer akan lelet jika menggunakan formula sumproduct yang dicopykan
> sampe baris xxxx.
>
> Saya mencoba menggunakan proses loop dengan logika cari dulu baris pertama
> pada tanggal 90 hari kebelakang dari tanggal hari ini, kemudian cari nama
> yang mendapatkan poin pada baris pertama tanggal tersebut. Lalu kurangkan
> total poin dengan poin yang telah diperoleh pada tanggal tersebut. Lalu
> lanjutkan dengan baris berikutnya. (tanggal yang sama tetapi nama client
> yang beda lagi)
> Tapi hasil percobaan saya yang di proses hanya baris pertamanya terus.
> Belum begitu mudeng dengan syntax2 loop.... :(
>
> File terlampir sudah disempitkan hanya transaksi untuk 2 nama yang sudah
> jatuh tempo
> Harap Mr. Kid dan kawan2 bisa berikan pencerahan
> Trims
>
>
> 2013/9/22 Mr. Kid <mr.nmkid@gmail.com>
>
> **
>>
>>
>>
>> Hai Bayu Arsyad,
>>
>> Jumlah hari masa berlaku yang telah dilalui suatu nilai poin (yang
>> dimulai sejak 1 hari setelah tanggal transaksi) adalah tanggal hari ini
>> dikurangi tanggal transaksi.
>> Jika masa berlaku adalah 90 hari, berarti jumlah hari masa berlaku yang
>> telah dilalui lebih dari masa berlaku 90 hari tidak perlu dihitung dalam
>> total poin. Artinya, yang dihitung dalam total poin adalah seluruh poin
>> milik satu client yang masa berlaku yang telah dilalui masih kurang dari
>> atau sama dengan (<=) masa berlaku 90 hari.
>> Dengan demikian, maka ada tuntutan terhadap tabel data agar berisi
>> seluruh data transaksi minimal dalam 90 hari terakhir.
>>
>> File terlampir.
>>
>> Wassalam,
>> Kid.
>>
>>
>>
>>
>>
>>
>>
>> 2013/9/20 Bayu Arsyad <ske8ay@gmail.com>
>>
>>> **
>>>
>>>
>>> Dear master2 excel
>>>
>>> Saya punya database transaksi, dimana para pelanggan akan mendapatkan
>>> poin pada tiap kali transaksinya. Saya ingin poin tersebut mempunyai masa
>>> berlaku, apabila pada berapa bulan berikutnya yang telah kita tentukan
>>> sendiri, poin yang didapatkan pada waktu yang lalu, otomatis akan hilang
>>> dengan sendirinya ketika masa berlaku telah tiba.
>>> Agar lebih jelasnya, mohon lihat file terlampir
>>>
>>> Trims pada master2 yang akan membantu
>>>
>>>
>>
>
>
> --
> Best Regard
>
>
>

Sat Sep 21, 2013 8:09 pm (PDT) . Posted by:

"Mr. Kid" nmkid.family@ymail.com

Sepertinya dalam kasus ini, jika range lookup dimulai dari baris 1 juga
tidak mengapa.
Jadi bagian :
R2C1:R1000C1
dalam baris kode :
Rng.FormulaR1C1 = "=IFERROR(VLOOKUP(RC[-13],PESERTA!R2C1:R1000
C1,1,FALSE),"""")"
yang merujuk ke sheets bernama 'PESERTA&#39; bisa diganti dengan :
Sheets("PESERTA").Range("A1").CurrentRegion.Address(referencestyle:=xlR1C1)
sehingga baris kode diatas akan menjadi :
Rng.FormulaR1C1 = "=IFERROR(VLOOKUP(RC[-13],PESERTA!" & _

Sheets("PESERTA").Range("A1").CurrentRegion.Address(referencestyle:=xlR1C1)_
& ",1,FALSE),"""")"

jadi lebih panjang ya... xixixixi... beneran geje dah si Kid ini...

ato mungkin gini :
dim sAddr As String
sAddr =
Sheets("PESERTA").Range("A1").CurrentRegion.Address(referencestyle:=xlR1C1)
Rng.FormulaR1C1 = "=IFERROR(VLOOKUP(RC[-13],PESERTA!" & sAddr & "
,1,FALSE),"""")"
hehehehe... gak panjang amat kok nambahnya.

Apa bedanya ?
Jika tabel referensi dipindah menjadi dimulai pada X17 dan jumlahnya juga
bisa bertambah, maka script yang diganti hanya pada bagian :
Range("A1")
menjadi
Range("X17")

Wassalam,
Kid.

2013/9/21 hendrik karnadi <hendrikkarnadi@yahoo.com>

> **
>
>
> Salah satu manfaat formula R1C1 ,yang bisa kita dapatkan melalui rekaman
> macro, adalah fleksibilitasnya (merujuk ke baris atau kolom secara dinamis).
> Namun disisi lain batasan Row dan Kolomnya berupa angka yang tidak dinamisseperti prosedur di bawah ini (diambil dari kasus mencocokkan nomor):
>
> Private Sub CommandButton1_Click()
> Dim Rng As Range
> Set Rng = Sheets("DATA").Range("A1").CurrentRegion
> Set Rng = Rng.Offset(1, Rng.Columns.Count - 1).Resize(Rng.Rows.Count -
> 1, 1)
> Rng.FormulaR1C1 = "=IFERROR(VLOOKUP(RC[-13],PESERTA!R2C1:R1000
> C1,1,FALSE),"""")"
> Rng.Value = Rng.Value
> Sheets("DATA").Activate
> End Sub
>
> Untuk membuatnya lebih dinamis maka perlu sedikit diakali dengan membuat
> suatu variabel (berupa integer atau long) untuk mengganti angka tsb,
> sehingga prosedurnya menjadi seperti ini:
>
> Private Sub CommandButton1_Click()
> Dim Rng As Range
> Dim lrow As Long
> lrow = Sheets("Peserta").Cells(Rows.Count, "A").End(xlUp).Row
> Set Rng = Sheets("DATA").Range("A1").CurrentRegion
> Set Rng = Rng.Offset(1, Rng.Columns.Count - 1).Resize(Rng.Rows.Count -
> 1, 1)
> Rng.FormulaR1C1 = "=IFERROR(VLOOKUP(RC[-13],PESERTA!R2C1:R" & lrow & "
> C1,1,FALSE),"""")"
> Rng.Value = Rng.Value
> Sheets("DATA").Activate
> End Sub
>
> Semoga tip kecil ini bermanfaat bagi kita para penulis VBA pemula.
>
> Salam,
> HK
>
>
>

Sat Sep 21, 2013 8:11 pm (PDT) . Posted by:

"Mr. Kid" nmkid.family@ymail.com

walah kepencet.

lanjutin disini...

kalau ada nama rangenya di worksheet, mestinya gak akan sibuk ngurusin
dinamisnya lagi, bagian tersebut bisa diganti dengan nama rangenya alias
gak ada bagian PESERTA!blablabla lagi. Lagipula, jika referensi dipindah
kemanapun dalam sheet tersebut, nama rangenya juga itu-itu aja.

nah kalo ini udah selesai.
segituh ajah kokh... jiah geje lagi.

Wassalam,
Kid.

2013/9/22 Mr. Kid <mr.nmkid@gmail.com>

> Sepertinya dalam kasus ini, jika range lookup dimulai dari baris 1 juga
> tidak mengapa.
> Jadi bagian :
> R2C1:R1000C1
> dalam baris kode :
>
> Rng.FormulaR1C1 = "=IFERROR(VLOOKUP(RC[-13],PESERTA!R2C1:R1000
> C1,1,FALSE),"""")"
> yang merujuk ke sheets bernama 'PESERTA&#39; bisa diganti dengan :
> Sheets("PESERTA").Range("A1").CurrentRegion.Address(referencestyle:=xlR1C1)
> sehingga baris kode diatas akan menjadi :
> Rng.FormulaR1C1 = "=IFERROR(VLOOKUP(RC[-13],PESERTA!" & _
>
> Sheets("PESERTA").Range("A1").CurrentRegion.Address(referencestyle:=xlR1C1)_
> & ",1,FALSE),"""")"
>
> jadi lebih panjang ya... xixixixi... beneran geje dah si Kid ini...
>
> ato mungkin gini :
> dim sAddr As String
> sAddr =
> Sheets("PESERTA").Range("A1").CurrentRegion.Address(referencestyle:=xlR1C1)
> Rng.FormulaR1C1 = "=IFERROR(VLOOKUP(RC[-13],PESERTA!" & sAddr & "
> ,1,FALSE),"""")"
> hehehehe... gak panjang amat kok nambahnya.
>
> Apa bedanya ?
> Jika tabel referensi dipindah menjadi dimulai pada X17 dan jumlahnya juga
> bisa bertambah, maka script yang diganti hanya pada bagian :
> Range("A1")
> menjadi
> Range("X17")
>
> Wassalam,
> Kid.
>
>
>
> 2013/9/21 hendrik karnadi <hendrikkarnadi@yahoo.com>
>
>> **
>>
>>
>> Salah satu manfaat formula R1C1 ,yang bisa kita dapatkan melalui rekaman
>> macro, adalah fleksibilitasnya (merujuk ke baris atau kolom secara dinamis).
>> Namun disisi lain batasan Row dan Kolomnya berupa angka yang tidak
>> dinamis seperti prosedur di bawah ini (diambil dari kasus mencocokkan
>> nomor):
>>
>> Private Sub CommandButton1_Click()
>> Dim Rng As Range
>> Set Rng = Sheets("DATA").Range("A1").CurrentRegion
>> Set Rng = Rng.Offset(1, Rng.Columns.Count - 1).Resize(Rng.Rows.Count
>> - 1, 1)
>> Rng.FormulaR1C1 = "=IFERROR(VLOOKUP(RC[-13],PESERTA!R2C1:R1000
>> C1,1,FALSE),"""")"
>> Rng.Value = Rng.Value
>> Sheets("DATA").Activate
>> End Sub
>>
>> Untuk membuatnya lebih dinamis maka perlu sedikit diakali dengan membuat
>> suatu variabel (berupa integer atau long) untuk mengganti angka tsb,
>> sehingga prosedurnya menjadi seperti ini:
>>
>> Private Sub CommandButton1_Click()
>> Dim Rng As Range
>> Dim lrow As Long
>> lrow = Sheets("Peserta").Cells(Rows.Count, "A").End(xlUp).Row
>> Set Rng = Sheets("DATA").Range("A1").CurrentRegion
>> Set Rng = Rng.Offset(1, Rng.Columns.Count - 1).Resize(Rng.Rows.Count
>> - 1, 1)
>> Rng.FormulaR1C1 = "=IFERROR(VLOOKUP(RC[-13],PESERTA!R2C1:R" & lrow &
>> "C1,1,FALSE),"""")"
>> Rng.Value = Rng.Value
>> Sheets("DATA").Activate
>> End Sub
>>
>> Semoga tip kecil ini bermanfaat bagi kita para penulis VBA pemula.
>>
>> Salam,
>> HK
>>
>>
>>
>
>

Sat Sep 21, 2013 11:36 pm (PDT) . Posted by:

"Hendrik Karnadi" hendrikkarnadi

Terima kasih Mr. Kid.
Kesimpulannya rujukan R1C1boleh diganti dgn Range.

Salam,
HK

Sent from Samsung Mobile"Mr. Kid" <mr.nmkid@gmail.com> wrote:Sepertinya dalam kasus ini, jika range lookup dimulai dari baris 1 juga tidak mengapa.
Jadi bagian :
R2C1:R1000C1
dalam baris kode :
Rng.FormulaR1C1 = "=IFERROR(VLOOKUP(RC[-13],PESERTA!R2C1:R1000C1,1,FALSE),"""")"
yang merujuk ke sheets bernama 'PESERTA&#39; bisa diganti dengan :
Sheets("PESERTA").Range("A1").CurrentRegion.Address(referencestyle:=xlR1C1)
sehingga baris kode diatas akan menjadi :
Rng.FormulaR1C1 = "=IFERROR(VLOOKUP(RC[-13],PESERTA!" & _
                       Sheets("PESERTA").Range("A1").CurrentRegion.Address(referencestyle:=xlR1C1) _
                                      & ",1,FALSE),"""")"

jadi lebih panjang ya... xixixixi... beneran geje dah si Kid ini...

ato mungkin gini :
dim sAddr As String
sAddr = Sheets("PESERTA").Range("A1").CurrentRegion.Address(referencestyle:=xlR1C1)
Rng.FormulaR1C1 = "=IFERROR(VLOOKUP(RC[-13],PESERTA!" & sAddr & ",1,FALSE),"""")"
hehehehe... gak panjang amat kok nambahnya.

Apa bedanya ?
Jika tabel referensi dipindah menjadi dimulai pada X17 dan jumlahnya juga bisa bertambah, maka script yang diganti hanya pada bagian :
Range("A1")
menjadi
Range("X17")

Wassalam,
Kid.

2013/9/21 hendrik karnadi <hendrikkarnadi@yahoo.com>
 
Salah satu manfaat formula R1C1 ,yang bisa kita dapatkan melalui rekaman macro, adalah fleksibilitasnya (merujuk ke baris atau kolom secara dinamis).
Namun disisi lain batasan Row dan Kolomnya berupa angka yang tidak dinamis seperti prosedur di bawah ini (diambil dari kasus mencocokkan nomor):

Private Sub CommandButton1_Click()
    Dim Rng As Range
    Set Rng = Sheets("DATA").Range("A1").CurrentRegion
    Set Rng = Rng.Offset(1, Rng.Columns.Count - 1).Resize(Rng.Rows.Count - 1, 1)
    Rng.FormulaR1C1 = "=IFERROR(VLOOKUP(RC[-13],PESERTA!R2C1:R1000C1,1,FALSE),"""")"
    Rng.Value = Rng.Value
    Sheets("DATA").Activate
End Sub

Untuk membuatnya lebih dinamis maka perlu sedikit diakali dengan membuat suatu variabel (berupa integer atau long) untuk mengganti angka tsb,
sehingga prosedurnya menjadi seperti ini:

Private Sub CommandButton1_Click()
    Dim Rng As Range
    Dim lrow As Long
    lrow = Sheets("Peserta").Cells(Rows.Count, "A").End(xlUp).Row
    Set Rng = Sheets("DATA").Range("A1").CurrentRegion
    Set Rng = Rng.Offset(1, Rng.Columns.Count - 1).Resize(Rng.Rows.Count - 1, 1)
    Rng.FormulaR1C1 = "=IFERROR(VLOOKUP(RC[-13],PESERTA!R2C1:R" & lrow & "C1,1,FALSE),"""")"
    Rng.Value = Rng.Value
    Sheets("DATA").Activate
End Sub

Semoga tip kecil ini bermanfaat bagi kita para penulis VBA pemula.

Salam,
HK

Sun Sep 22, 2013 12:34 am (PDT) . Posted by:

"A. Zainal H." akhmad_bjb

لسَÙ'لاَÙ…ُ عَÙ„َيÙ'كُÙ…Ù' وَرَحÙ'مَةُ اÙ„لهِ وَبَرَكَاتُهُl‎

Dear All,
Mohon Bantuannya bagaimana formula untuk mencari data sebagaiman file terlampir
Atas bantuan & pencerahannya, saya ucapkan terimakasih
 
 
وَسَÙ'لاَÙ…ُ عَÙ„َيÙ'كُÙ…Ù' وَرَحÙ'مَةُ اÙ„لهِ وَبَرَكَاتُهُ

Zainal

Sun Sep 22, 2013 12:48 am (PDT) . Posted by:

"hendrik karnadi" hendrikkarnadi

Pak Zainal,
Bagaimana kriteria "sebelum" dan "sesudah"?

Salam,
HK

________________________________
From: A. Zainal H. <a_zainal_hilmi@yahoo.com>
To: belajar-excel@yahoogroups.com
Sent: Sunday, 22 September 2013, 12:00
Subject: [belajar-excel] Data sebelum dan sesudah [1 Attachment]


 
لسَÙ'لاَÙ…ُ عَÙ„َيÙ'كُÙ…Ù' وَرَحÙ'مَةُ اÙ„لهِ وَبَرَكَاتُهُl‎
 
Dear All,
Mohon Bantuannya bagaimana formula untuk mencari data sebagaiman file terlampir
Atas bantuan & pencerahannya, saya ucapkan terimakasih
 
 
وَسَÙ'لاَÙ…ُ عَÙ„َيÙ'كُÙ…Ù' وَرَحÙ'مَةُ اÙ„لهِ وَبَرَكَاتُهُ
 
Zainal

Sun Sep 22, 2013 1:13 am (PDT) . Posted by:

"A. Zainal H." akhmad_bjb

Pa HK
Mohon maaf kalau datanya tidak jelas
Untuk data no. 1 ada kode MHD jadi data sebelumnya adalah "kosong" dan data sesudahnya adalah kode PSB di cell B4
begitupun selanjutnya untuk kode PSB di cell B4 maka data sebelumnya adalah kode MHD di cell B2 dan data sesudahnya adalah kode BHE di cell B7

Wassalam

Zainal

Dari: hendrik karnadi <hendrikkarnadi@yahoo.com>
Kepada: "belajar-excel@yahoogroups.com" <belajar-excel@yahoogroups.com>
Dikirim: Minggu, 22 September 2013 15:48
Judul: Re: [belajar-excel] Data sebelum dan sesudah

 
Pak Zainal,
Bagaimana kriteria "sebelum" dan "sesudah"?

Salam,
HK

From: A. Zainal H. <a_zainal_hilmi@yahoo.com>
To: belajar-excel@yahoogroups.com
Sent: Sunday, 22 September 2013, 12:00
Subject: [belajar-excel] Data sebelum dan sesudah [1 Attachment]

 
لسَÙ'لاَÙ…ُ عَÙ„َيÙ'كُÙ…Ù' وَرَحÙ'مَةُ اÙ„لهِ وَبَرَكَاتُهُl‎

Dear All,
Mohon Bantuannya bagaimana formula untuk mencari data sebagaiman file terlampir
Atas bantuan & pencerahannya, saya ucapkan terimakasih

 
وَسَÙ'لاَÙ…ُ عَÙ„َيÙ'كُÙ…Ù' وَرَحÙ'مَةُ اÙ„لهِ وَبَرَكَاتُهُ

Zainal

Sun Sep 22, 2013 1:17 am (PDT) . Posted by:

"Mr. Kid" nmkid.family@ymail.com

Wa'alaikumussalam Wr. Wb.

Coba file terlampir.

Wassalamu'alaikum Wr. Wb.
Kid.

2013/9/22 A. Zainal H. <a_zainal_hilmi@yahoo.com>

> **
>
>
> لسَÙ'لاَÙ…ُ عَÙ„َيÙ'كُÙ…Ù' وَرَحÙ'مَةُ اÙ„لهِ وَبَرَكَاتُهُl‎
>
> Dear All,
> Mohon Bantuannya bagaimana formula untuk mencari data sebagaiman file
> terlampir
> Atas bantuan & pencerahannya, saya ucapkan terimakasih
>
>
> وَسَÙ'لاَÙ…ُ عَÙ„َيÙ'كُÙ…Ù' وَرَحÙ'مَةُ اÙ„لهِ وَبَرَكَاتُهُ
>
> *Zainal*
>
>
>
GROUP FOOTER MESSAGE
=====================================================================
Untuk memudahkan tim penyusun materi Belajar Excel yang lebih sesuai kebutuhan member, silakan ungkapkan permasalahan yang kerap ditemui dalam menggunakan Excel sehari-hari atau hal-hal yang ingin dipelajari dalam jangka dekat ini. Mohon diprioritaskan dari yang sering ditemui sampai yang ingin dipelajari.
Isi sesuai kelompoknya (fitur-fitur, formula-formula tertentu yang masih membingungkan, otomasi atau pemrograman dalam Excel [Macro - VBA], hal lainnya yang membuat Anda kesulitan dalam mempelajari Excel).
Boleh mengisi berulang kali untuk menambah uneg-uneg yang ingin diungkapkan.
Link untuk menuangkan seluruh uneg-uneg tersebut ada di :
http://tech.groups.yahoo.com/group/belajar-excel/database?method=addRecord&tbl=3
=====================================================================
Langkah kecil Anda dalam mengisi database bisa menjadi langkah pertama yang bermanfaat besar untuk kita semua.
=====================================================================

---------------------------------------------------------------------
bergabung ke milis (subscribe), kirim mail kosong ke:
belajar-excel-subscribe@yahoogroups.com

posting ke milis, kirimkan ke:
belajar-excel@yahoogroups.com

berkunjung ke web milis
http://tech.groups.yahoo.com/group/belajar-excel/messages

melihat file archive / mendownload lampiran
http://www.mail-archive.com/belajar-excel@yahoogroups.com/
atau (sejak 25-Apr-2011) bisa juga di :
http://milis-belajar-excel.1048464.n5.nabble.com/

menghubungi moderators & owners: belajar-excel-owner@yahoogroups.com

keluar dari membership milis (UnSubscribe):
kirim mail kosong ke  belajar-excel-unsubscribe@yahoogroups.com
---------------------------------------------------------------------

Tidak ada komentar:

Posting Komentar