Senin, 13 Mei 2013

[belajar-excel] Digest Number 2296

15 New Messages

Digest #2296
3
Sumproduct Weeknum by "akhmad_bjb" akhmad_bjb
5a
Re: Laporan stock dan transaksi by "Bambang trianto wibowo" bambang_trianto2002
6
Menghapus data pada sheet dengan Form by "Danny Prasetyo" danny_06791
7a
8a
Re: belajar macro by "Fachry Ass" p4ch_m4n
8b
Re: belajar macro by "hendrik karnadi" hendrikkarnadi
9a
Re: Sum Product dengan Kriteria by "frendy07" frendy07
10a
Re: Border Formatting - Makro by "Mr. Kid" nmkid.family@ymail.com

Messages

Mon May 13, 2013 3:39 pm (PDT) . Posted by:

"fuadi" see_fu



> thanks atas bantuan kawan2. Walaupun belum sempurna sesuai dengan keinginan, tapi VBA nya bisa jadi referensi untuk di edit lagi. Mungkin kalau ada kawan2 lain bs minta tolong ditambahin......;)
>
> Bwt Wiranata & Mr. Kid thanks atas bantuan dan penjelasannya....;)
>
>

--- In belajar-excel@yahoogroups.com, WIRAnata Kemala Deng <kwiranata@...> wrote:
>
> iseng pas kebangun sabtu pagi, nyoba solve ahhhhh..
>
>
> bisa coba dilihat attachment .xlsm nya yah.
>
> semoga membantu (seperti yang diinginkan)
> untuk referensi, VBA nya bisa dilihat dan dikota-katik sesuai keperluan.
>
> maap kalo coding nya kurang slim , maklum newbie :)
>
> regards, wira
>
>
> 2013/5/10 Fuadi Arief <sifuad.xl@...>
>
> > **
> >
> >
> > Mohon bantuan teman2, bagaimana cara bold kata2 yang menggunakan rumus di
> > dalam 1 cell? file terlampir. Thanks sebelumnya. ;)
> >
> >
> >
>

Mon May 13, 2013 3:39 pm (PDT) . Posted by:

Dear Master2,

Saya ingin tanya apakah ada short key insert row tetapi disertai duplicate
data seperti langsung copy - paste otomatis pada saat insert row sehingga
kita tidak perlu insert row lalu row yg dicopy diblok lalu copy lalu paste
pada row yg diinginkan ?

Thanks
Harry

Mon May 13, 2013 4:31 pm (PDT) . Posted by:

"Hendrik Karnadi" hendrikkarnadi

Coba aktifkan macro record, lakukan langkah yang ingin anda lakukan, stop recording.
Bila diperlukan edit macro dengan menekan tombol alt f11 secara bersamaan.

Salam,
HK

Sent from Samsung Mobileharry_salim@yanmar.co.id wrote:
Dear Master2,

Saya ingin tanya apakah ada short key insert row tetapi disertai duplicate data seperti langsung copy - paste otomatis pada saat insert row sehingga kita tidak perlu insert row lalu row yg dicopy diblok lalu copy lalu paste pada row yg diinginkan ?

Thanks
Harry

Mon May 13, 2013 7:13 pm (PDT) . Posted by:

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

Mungkin mau mencoba begini :
1. blok seluruh baris data yang akan di copy
2. lakukan copy (tekan CTRL C)
3. klik kanan baris yang terblok (hasil blok nomor 1 tadi)
4. pilih Insert Copied cells

Wassalam,
Kid.

2013/5/13 <harry_salim@yanmar.co.id>

> **
>
>
>
> Dear Master2,
>
> Saya ingin tanya apakah ada short key insert row tetapi disertai duplicate
> data seperti langsung copy - paste otomatis pada saat insert row sehingga
> kita tidak perlu insert row lalu row yg dicopy diblok lalu copy lalu paste
> pada row yg diinginkan ?
>
> Thanks
> Harry
>
>

Mon May 13, 2013 9:24 pm (PDT) . Posted by:

dear Mr. Hendrik

terima kasih atas ilmunya, tetapi menurut saya jika menggunakan macro
seperti tidak bisa (maaf saya belum mencoba) karena letak dan susunan cell
utk macro harus lah tetap, berhubung data saya ingin copy letak dan
susunan cell nya tidak tetap, pikiran saya tidak lah mungkin bisa
menggunakan macro.
tetapi saya ucapkan terima kasih mr. hendrik for your attention.

dear mr. Kid,

terima kasih ilmunya dan your attention

regards
harry




"Mr. Kid" <mr.nmkid@gmail.com>
Sent by: belajar-excel@yahoogroups.com
14/05/2013 09:21
Please respond to
belajar-excel@yahoogroups.com


To
BeExcel <belajar-excel@yahoogroups.com>
cc

Subject
Re: [belajar-excel] insert row disertai duplicate data (copy - paste
otomatis pada saat insert row) yang diblok







Mungkin mau mencoba begini :
1. blok seluruh baris data yang akan di copy
2. lakukan copy (tekan CTRL C)
3. klik kanan baris yang terblok (hasil blok nomor 1 tadi)
4. pilih Insert Copied cells

Wassalam,
Kid.



2013/5/13 <harry_salim@yanmar.co.id>


Dear Master2,

Saya ingin tanya apakah ada short key insert row tetapi disertai duplicate
data seperti langsung copy - paste otomatis pada saat insert row sehingga
kita tidak perlu insert row lalu row yg dicopy diblok lalu copy lalu paste
pada row yg diinginkan ?

Thanks
Harry



Mon May 13, 2013 3:41 pm (PDT) . Posted by:

"akhmad_bjb" akhmad_bjb

Dear Be-Exceller

Mohon pencerahan untuk masalah berikut:
penggunaan formula =SUMPRODUCT((WEEKNUM($E$10:$E$10;2)=4)dst
mengapa menghasilkan nilai #VALUE!
padahal kalau formula diganti dengan MONTH atau DAY,
maka hasilnya akan keluar
Demikian problem dari saya
semoga milis ini semakin bikin anggotanya jadi makin pinter

Rgrds,

AZH

Mon May 13, 2013 3:43 pm (PDT) . Posted by:

"Rahmat Hermawan" ione_1984

Assalamualaikum,

Para Master, tanya lagi dunkz..

1. Gimana caranya supaya file excel saya (misal file tes.xlsm) bila dibuka akan selalu read only? jadi bisa di utak-atik tapi perubahannya ga bisa di save.

2. Bisa ga ya buat script vba untuk print dan menyimpannya hasil print ke file lain, ke .doc misalnya? file terlampir..

Sebelumnya Terima kasih banyak...

Wassalam..

Mon May 13, 2013 7:40 pm (PDT) . Posted by:

"hendrik karnadi" hendrikkarnadi

1. Pada waktu Save As klik Tool General Option, di sini ada pilihan untuk proteksi dan Read Only.
2. Mengapa tidak pakai PDF ?

Salam,
HK

________________________________
From: Rahmat Hermawan <ione_1984@yahoo.com>
To: be_exceler <belajar-excel@yahoogroups.com>
Sent: Monday, 13 May 2013, 20:52
Subject: [belajar-excel] membuat read only dan Menyimpan hasil print di file di doc


 
Assalamualaikum,

Para Master, tanya lagi dunkz..

1. Gimana caranya supaya file excel saya (misal file tes.xlsm) bila dibuka akan selalu read only? jadi bisa di utak-atik tapi perubahannya ga bisa di save.

2. Bisa ga ya buat script vba untuk print dan menyimpannya hasil print ke file lain, ke .doc misalnya? file terlampir..

Sebelumnya Terima kasih banyak...

Wassalam..

Mon May 13, 2013 3:43 pm (PDT) . Posted by:

"Bambang trianto wibowo" bambang_trianto2002

Dear Bagus

Thank's..sesuai yg di harapkan..

Regards,
Bambang trianto

Pada 13 Mei 2013 08.41, Bagus <bagus@kingjim.co.id> menulis:

> **
>
>
> **
> Dear Pak Bambang;
>
> File terlampir semoga sesuai harapan.
>
>
>
> Wassalam****
>
> ~ Bagus ~
>
> ****
>
> ----- Original Message -----
> *From:* Bambang trianto wibowo <bambang.trianto2002@gmail.com>
> *To:* belajar-excel@yahoogroups.com
> *Sent:* Sunday, May 12, 2013 9:50 PM
> *Subject:* [belajar-excel] Laporan stock dan transaksi
>
>
>
> dear master exel
>
> saya ada masalah di laporan stock.
> 1. gimana caranya membuat formula stock awal besaral dari stock akhir tgl
> sebelumnya.
> 2. transaksi masuk sesuai dengan tgl di laporan stock.
> berikut saya lampirkan filenya.
>
>
>

Mon May 13, 2013 3:44 pm (PDT) . Posted by:

"Danny Prasetyo" danny_06791

Saya mengalami kesulitan dalam mengisi rumus VBA nya, bisa tolong bantu
master master excel.

Mon May 13, 2013 3:56 pm (PDT) . Posted by:

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

Oh jadi nomor kode diberikan oleh si Owner.
Kemudian Anda memasukkan ke Excel di kolom N melalui number format ? Jika
betul, maka cara Anda ini yang harus diubah. Janganlah Anda memasukkannya
ke kolom N dengan format number, tetapi dibuat di kolom AA berisi nomor di
kolom N dan di kolom AB adalah teksnya seperti yang harus Anda salin
sebagai format number (teksnya ya bukan format numbernya)

Owner bisa memberi nomer sekenanya menurut wangsit. Tetapi pengolah data
tetap bekerja berdasar kaidah pengolahan data yang baik. Hal ini diawali
selalu dengan membuat tabel referensi seluruh kode. Meskipun kode itu
bertambah sekian ribu baris per hari.

Wassalam,
Kid.

2013/5/13 yonikriwul <yonikriwul@yahoo.com>

> **
>
>
> Terima kasih Mr. Kid atas koreksinya....
> dalam kasus ini, saya hanya sebagai operator saja sehingga penentuan nomor
> kode di kolom N sepenuhnya di pihak owner. mungkin beliau memberikan kode
> tersebut juga sekenanya (MAAF HANYA PREDIKSI SEPIHAK DARI SAYA), sehingga
> saya kesulitan dalam membuat history data terutama no kode faktur tersebut.
> dalam hal ini saya hanya berusaha mempermudah pekerjaan saya untuk tidak
> mengganti format cell setiap saya akan mencetak. (BISA DIBAYANGKAN
> KESULITAN SAYA WAKTU ITU. SEBELUM KENAL DENGAN REKAN BE EXCEL)
> Mudah mudahan rekan rekan BE-EXCEL dapat segera metemukan solusinya, dan
> saya akan sangat terbantu sekali.
> Salam
> Yoni
>
>
> --- In belajar-excel@yahoogroups.com, "Mr. Kid" <mr.nmkid@...> wrote:
> >
> > eh... saya kok masih bingung dengan kalimat ini ya :
> > urutan data tersebut merupakan kode unik, namun secara acak sehingga saya
> > tidak isa merumuskannya...
> > *data tersebut setiap bulan selalu berubah*. *saya hanya mengganti format
> > di cell kolom N*....
>
> >
> > Pertanyaannya :
> > 1. Kenapa memilih mengganti custom number format nya daripada membuat
> > sebuah tabel berisi 2 kolom, yaitu kolom kode dan kolom teks_faktur ?
> >
> > 2. Apakah keuntungan mengganti custom number format setiap id faktur
> dengan
> > teks_faktur setiap bulan, sehingga tidak pernah dimiliki histori
> faktur-nya
> > ?
> >
> > 3. Apakah tidak pernah mendaftar faktur dalam beberapa bulan yang unique
> > sehingga lebih dari 250 teks faktur ?
> > >> fyi, sebuah workbook dibatasi jumlah custom number format nya loh.
> >
> > Wassalam,
> > Kid.
> >
> >
> > 2013/5/11 yonikriwul <yonikriwul@...>
> >
> > > **
>
> > >
> > >
> > > Terima kasih atas perhatiannya....
> > > urutan data tersebut merupakan kode unik, namun secara acak sehingga
> saya
> > > tidak isa merumuskannya...
> > > data tersebut setiap bulan selalu berubah. saya hanya mengganti format
> di
> > > cell kolom N....
> > > Salam
> > > Yoni
> > >
> > >
> > > --- In belajar-excel@yahoogroups.com, "Heri Pamungkas ( Gmail )"
> > > <ghery.dharma@> wrote:
> > > >
> > > > Semangat pagi,
> > > >
> > > > Kalau dilihat dari datanya sepertinya ada Kombinasi yang unik,...
> Boleh
> > > > tau pak/bu
> > > >
> > > > kombinasinya seperti apa ??
> > > >
> > > > misalnya di No 10. No Fakturnya 030.900-13.630310 apa cluenya .. (
> 030
> > > > =apa, 900 = apa, 13 = apa, 630310 = apa )
> > > > agar memudahkan proses tempel2nya tanpa menggunakan formating.
> > > >
> > > >
> > > > # sampaikan masalah yang sering anda temui saat menggunakan Excel
> pada
> > > >
> > >
> http://tech.groups.yahoo.com/group/belajar-excel/database?method=addRecord&tbl=3
> > > >
> > > > Sedikit waktu yang anda luangkan untuk mengisi pooling tersebut
> sangat
> > > berharga untuk Be-Exceler yang lain
> > > >
> > > > Salam Excell-ent
> > > >
> > > >
> > > > On 11/05/2013 5:35, Yoni Patinasaran wrote:
> > > > > Terima Kasih Atas perhatian rekan rekan milis, terutama Mr. Kid.
> yang
> > > > > telah dengan sabar membimbing saya bagaimana cara mengirim pesan ke
> > > > > groups...
> > > > > karena masalah yang saya alamai ini sangat memerlukan penyelesaian,
> > > > > maka saya kirim ulang melalui email saya ( berikut ini
> permasalahannya
> > > )
> > > > >
> > > > > Salam Semuanya....
> > > > > Saya mengalami kesulitan dalam hal menyamakan format antara dua
> cell
> > > > > yang memakai fungsi Vlookup..
> > > > > sebagai gambaran ada tabel penjualan toko yang berisi no urut,
> > > > > tanggal, no faktur, nama toko, jumlah pejualan.
> > > > > saat pencetakan saya mengubah angka di cell reference dan langsung
> > > > > saya print...
> > > > > permasalahannya, pada cell C3, yang mengambil data dari tabel
> > > > > penjualan pada kolom nomor faktur (kolom N) tidak bisa sekalian
> > > > > mengambil formatnya....
> > > > > mohon bantuan dari senior senior kiranya dapat membantu
> permasalahan
> > > > > ini...
> > > > > sebagai contoh saya lampirkan filenya...
> > > > > atas perhatian dan solusinya saya ucapkan terima kasih
> > > > >
> > > > >
> > > > > salam
> > > > > Yoni
> > > > >
> > > >
> > >
> > >
> > >
> >
>
>
>

Mon May 13, 2013 7:32 pm (PDT) . Posted by:

"Fachry Ass" p4ch_m4n

Apa fungsi dr record macro??

2013/5/10 Hendrik Karnadi <hendrikkarnadi@yahoo.com>

> **
>
>
> Jika kita belum mempunyai dasar programming maka tips Mr. Kid (belajar
> macro dengan cara merekam) adalah cara yang paling praktis dan cukup mudah.
> Kemudian kita coba lagi berbagai alternatif dengan cara merekam tsb.
> Setelah kita mengerti bagaimana proses tsb direkam oleh komputer barulah
> kita mulai menulis program sendiri dengan menggunakan pola rekaman yang
> dilakukan komputer. Setelah memahami cara kerjanya kita bisa mulai
> menggunakan variabel.
> Setidaknya itulah yang telah saya lakukan.
>
> Salam,
> HK
>
> Sent from Samsung Mobile
>
>
>
> -------- Original message --------
> Subject:Re: [belajar-excel] belajar macro
> From:"Mr. Kid" <mr.nmkid@gmail.com>
> To:BeExcel <belajar-excel@yahoogroups.com>
> Cc:
>
>
>
>
> Wa'alaikumussalam Wr. Wb.
>
> Cara belajar macro ya...
> sepertinya bisa diawali begini :
> 1. Pahami dasar-dasar Excel seperti :
> >> tipe data di cell Excel,
> >> memahami apa itu sheet, worksheet, workbook, cell, range
> (sepertinya mudah ya)
> >> fitur-fitur Excel dan tabiatnya (yang umum saja dulu seperi copy,
> paste special, goto special, sort, autofilter, delete row, clear, clear
> contents)
>
> 2. Mengenal Macro
> >> lihat-lihat fitur Excel tentang Record Macro
> >> lihat-lihat object control seperti checkbox, listbox, dsb yang
> bisa dipasang dalam worksheet, termasuk properti dan format control-nya
> >> baca-baca tentang cara record macro, stopr recording
>
> 3. Mengenal area menulis script
> >> cara ke VBE atau kembali ke worksheet
> >> barang-barang dalam VBE (Project Explorer beserta isinya, window
> properties, lembar script, combobox untuk pilih object, combobox untuk
> pilih event, dsb
>
> 4. Baca-baca tentang VBA (bahasa yang digunakan dalam Macro adalah Visual
> Basic for Application)
> misal files di folder files milis tentang VBA at glance (login
> YahooID -> ke website milis -> lihat folder files cari filenya disana)
> termasuk link-link belajar VBA yang daftarnya ada dalam sebuah file
> di folder files milis.
>
> 5. berani mencoba, setidaknya, milis Belajar-Excel bisa menjadi arena
> curhat ketika kebingungan dalam mencobanya.
>
> imho,
> VBA jauh lebih mudah dipelajari ketimbang mempelajari karakteristik setiap
> fitur dan object dalam Excel, apalagi karakteristik setiap fungsi bawaan
> Excel. So.... berani mencoba adalah modal yang berharga dalam belajar Excel
> VBA.
>
> tips.
> Jika tidak tahu bagaimana cara melakukan sesuatu yang diinginkan di VBA,
> lakukan dulu dalam worksheet secara manual memanfaatkan segala potensi
> Excel tanpa VBA. Setelah itu ulangi lagi prosesnya sambil record macro.
> Biasanya cara ini akan membantu memahami pemanfaatan kemampuan yang
> dimiliki Excel melalui VBA.
>
> Wassalamu'alaikum Wr. Wb.
> Kid.
>
>
>
>
> 2013/5/10 dheny <dheny_brs@yahoo.co.id>
>
>> **
>>
>>
>> assalamu'alaikum wr wb
>>
>> saya adalah pengguna excel, tetapi saya sama sekali buta mengenai macro
>> excel.
>> saya ingin belajar macro excel dari dasar termasuk bahasa yang
>> dipergunakan dalam macro excel, bagaimana caranya..?
>>
>> mohon pencerahan.
>>
>> terima kasih, wassalam
>>
>> Dheny
>>
>>
>
>

Mon May 13, 2013 7:55 pm (PDT) . Posted by:

"hendrik karnadi" hendrikkarnadi

Fungsi dari record macro adalah merekam langkah2 yang kita lakukan.
Sebagai contoh saya melakukan record macro berikut ini:
- Menulis "TES MACRO" pada sel A1
- Memilih sel A1
- Kemudian menghapus sel yang saya pilih tsb.

Jika kita menekan tombol ALT F11 bersamaan maka rekaman yang ada di sheet VBE adalah sbb :
Sub Macro1()
'
' Macro1 Macro
'

'
    ActiveCell.FormulaR1C1 = "TES MACRO"
    Range("A1").Select
    Selection.ClearContents
End Sub

Sub NamaMacro()
   baris perintah
End Sub
adalah struktur macro, nama macro tidak boleh ada spasi.

baris perintah adalah langkah2 yang kita lakukan.

warna hijau (tanda ' dan macro1) tidak dilaksanakan oleh komputer).

Salam,
HK

________________________________
From: Fachry Ass <p4ch.m4n@gmail.com>
To: belajar-excel@yahoogroups.com
Sent: Tuesday, 14 May 2013, 9:22
Subject: Re: Re: [belajar-excel] belajar macro


 
Apa fungsi dr record macro??

2013/5/10 Hendrik Karnadi <hendrikkarnadi@yahoo.com>


>Jika kita belum mempunyai dasar programming maka tips Mr. Kid (belajar macro dengan cara merekam) adalah cara yang paling praktis dan cukup mudah.
>Kemudian kita coba lagi berbagai alternatif dengan cara merekam tsb. Setelah kita mengerti bagaimana proses tsb direkam oleh komputer barulah kita mulai menulis program sendiri dengan menggunakan pola rekaman yang dilakukan komputer. Setelah memahami cara kerjanya kita bisa mulai menggunakan variabel.
>Setidaknya itulah yang telah saya lakukan.
>
>
>Salam,
>HK
>
>
>Sent from Samsung Mobile
>
>
>
>-------- Original message --------
>Subject:Re: [belajar-excel] belajar macro
>From:"Mr. Kid" <mr.nmkid@gmail.com>
>To:BeExcel <belajar-excel@yahoogroups.com>
>Cc:
>
>

>Wa'alaikumussalam  Wr. Wb.
>
>Cara belajar macro ya...
>sepertinya bisa diawali begini :
>1. Pahami dasar-dasar Excel seperti :
>     >> tipe data di cell Excel,
>     >> memahami apa itu sheet, worksheet, workbook, cell, range (sepertinya mudah ya)
>     >> fitur-fitur Excel dan tabiatnya (yang umum saja dulu seperi copy, paste special, goto special, sort, autofilter, delete row, clear, clear contents)
>
>
>
>2. Mengenal Macro
>
>     >> lihat-lihat fitur Excel tentang Record Macro
>     >> lihat-lihat object control seperti checkbox, listbox, dsb yang bisa dipasang dalam worksheet, termasuk properti dan format control-nya
>
>     >> baca-baca tentang cara record macro, stopr recording
>
>
>3. Mengenal area menulis script
>
>     >> cara ke VBE atau kembali ke worksheet
>
>     >> barang-barang dalam VBE (Project Explorer beserta isinya, window properties, lembar script, combobox untuk pilih object, combobox untuk pilih event, dsb
>
>
>
>4. Baca-baca tentang VBA (bahasa yang digunakan dalam Macro adalah Visual Basic for Application)
>
>     misal files di folder files milis tentang VBA at glance (login YahooID -> ke website milis -> lihat folder files cari filenya disana)
>
>     termasuk link-link belajar VBA yang daftarnya ada dalam sebuah file di folder files milis.
>
>
>5. berani mencoba, setidaknya, milis Belajar-Excel bisa menjadi arena curhat ketika kebingungan dalam mencobanya.
>
>
>imho,
>
>VBA jauh lebih mudah dipelajari ketimbang mempelajari karakteristik setiap fitur dan object dalam Excel, apalagi karakteristik setiap fungsi bawaan Excel. So.... berani mencoba adalah modal yang berharga dalam belajar Excel VBA.
>
>
>
>tips.
>
>Jika tidak tahu bagaimana cara melakukan sesuatu yang diinginkan di VBA, lakukan dulu dalam worksheet secara manual memanfaatkan segala potensi Excel tanpa VBA. Setelah itu ulangi lagi prosesnya sambil record macro. Biasanya cara ini akan membantu memahami pemanfaatan kemampuan yang dimiliki Excel melalui VBA.
>
>
>
>Wassalamu&#39;alaikum Wr. Wb.
>
>Kid.
>
>
>
>
>
>
>
>2013/5/10 dheny <dheny_brs@yahoo.co.id>
>
>
>> 
>>assalamu&#39;alaikum wr wb
>>
>>saya adalah pengguna excel, tetapi saya sama sekali buta mengenai macro excel.
>>saya ingin belajar macro excel dari dasar termasuk bahasa yang dipergunakan dalam macro excel, bagaimana caranya..?
>>
>>mohon pencerahan.
>>
>>terima kasih, wassalam
>>
>>Dheny
>>
>>
>

Mon May 13, 2013 10:05 pm (PDT) . Posted by:

"frendy07" frendy07


Terima kasih, hatur nuhun, dan matur nuwun mas Bagus, inilah yang saya cari-cari.
moga diberi rejeki yang melimpah.. :D

--- In belajar-excel@yahoogroups.com, "Bagus" <bagus@...> wrote:
>
> Dear Frendy;
>
> Mungkin begini:
> =SUMPRODUCT(($H3=$A$2:$A$7)*(I$2=$D$1:$F$1)*($C$2:$C$7*$D$2:$F$7))
> Copy-paste kekanan dan kebawah.
>
> File terlampir.
>
>
> Wassalam
>
> ~ Bagus ~
>
> ----- Original Message -----
> From: Frendy R
> To: belajar-excel@yahoogroups.com
> Sent: Sunday, May 12, 2013 9:32 PM
> Subject: [belajar-excel] Sum Product dengan Kriteria

Mon May 13, 2013 10:06 pm (PDT) . Posted by:

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

Maaf baru sempat balas.

diurutkan prosesnya lagi ya.
*0. deklarasi (sepertinya sudah ok)*
Dim rngData As Range
Dim rangenya_kolom3 As Range
Dim rngDiProses As Range
Dim rngAwalMerge As Range
Dim lRec As Long, r As Long

*1. persiapan data (sumber) dan lokasi kerja (lokasi hasil) yang bunyinya :*
With Sheet1
'Lokasi Utak-atiknya dipindah agar data aslinya tidak terganggu:: copast
range g5 ke range s5
.Range("g5:j25").Copy Destination:=.Range("s5")

'initialisasi data
Set rngData = .Range("s8").CurrentRegion
lRec = rngData.Rows.Count - 1

Set rangenya_kolom3 = rngData.Resize(lRec, 1).Offset(1, 2)
Set rngAwalMerge = rngData.Offset(1, 2).Resize(1, 1)
End With

>> persiapan 1 adalah menyiapkan lokasi kerja (hasil), yaitu menghapus
semua hasil yang lama
lokasinya di range s8 (header lokasi kerja yang bersinggungan dengan record
data hasil)
.Range("s5").currentregion.offset(1).delete xlshiftup

>> persiapan 2 menyalin data sumber ke lokasi kerja (sudah ada) di bagian :
'Lokasi Utak-atiknya dipindah agar data aslinya tidak terganggu:: copast
range g5 ke range s5
.Range("g5:j25").Copy Destination:=.Range("s5")

>> persiapan 3 inisialisasi area kerja
'initialisasi data
Set rngData = .Range("s8").CurrentRegion
lRec = rngData.Rows.Count - 1

Set rangenya_kolom3 = rngData.Resize(lRec, 1).Offset(1, 2)

>> persiapan 4 menyatakan bahwa saat akan dimulai, jumlah cell yang harus
di-merge adalah 0 (kan belum mulai proses per record)
r=0

>> persiapan 5 menyatakan bahwa saat akan dimulai, range awal yang harus
di-merge belum ada (kan belum mulai proses per record)
set rngAwalMerge=nothing
End With

karena variabel rngAwalMerge dipesan (dim) dalam prosedur, maka persiapan 5
ini ndak perlu ada.
Artinya, baris yang berbunyi Set rngAwalMerge = rngData.Offset(1,
2).Resize(1, 1) juga ndak perlu ada (dihapus saja)

*2. Proses setiap record data yang butuh di-merge (loop) yang bunyinya :*
'loop setiap range di kolom 3
For Each rngDiProses In rangenya_kolom3

'didalam loop ada tahap cek isi range yang sedang diproses oleh loop (pada
contoh for each diatas adalah cek isi rngDiProses)
'jika ada isinya, maka lakukan :
If rngDiProses.Value <> "" Then

'1. merge cell dari cell awal diperluas sebanyak variabel jumlah cell
'rngAwalMerge.Resize(variabel_
jumlah_cell).Merge
r = rngDiProses.Rows.Count
rngAwalMerge.Resize(r).Merge

'2. beri border dobel dibawah range yang sedang diproses oleh loop (misal
di rngDiProses),
'tetapi mulai kolom ke-1 (offset 2 kolom kekiri) yang diperluas 1 baris x
sekian kolom data
rngAwalMerge.Offset(0, -2).Resize(, 4).Borders(xlEdgeBottom).LineStyle =
xlDouble

'3. set cell awal merge baru (untuk blok merge berikutnya)
'Set rngAwalMerge = rngDiProses
Set rngAwalMerge = rngDiProses

'4. set ulang jumlah cell kembali ke 1 karena cell awal merge yang baru
adalah cell pertama yang dimerge untuk blok merge tersebut

'jika tidak ada isinya alias kosong, maka lakukan :
'1. penambahan jumlah cell yang harus di-merge dengan 1
Else
rngAwalMerge.Resize(r + 1).Merge

End If

'sampai akhir loop, yaitu di baris Next
Next rngDiProses

>> proses 1 : membuat awal blok loop (sudah ok)
'loop setiap range di kolom 3
For Each rngDiProses In rangenya_kolom3

>> proses 2 : cek range yang diproses ada isinya atau tidak (cukup ok)
'didalam loop ada tahap cek isi range yang sedang diproses oleh loop (pada
contoh for each diatas adalah cek isi rngDiProses)
'jika ada isinya, maka lakukan :
If rngDiProses.Value <> "" Then 'bisa juga dengan IF
LenB(rngdiproses.value)<>0 THEN

>> proses 3 : cek lagi, jika range di proses ada isinya, harus melakukan
merge pada hasil pemeriksaan sebelumnya atau tidak
--> tentu saja tandanya adalah isi nilai r. Kalau nilai r > 0, maka ada
yang harus di-merge (minimal 1 cell)
IF r>0 then

>> proses 4 : kalau r>0 (ada yang harus di-merge), maka pastilah
rngawalmerge ada isinya.
--> maka bisa lakukan merge mulai dari rngawalmerge sebanyak r baris
(diperluas)
rngawalmerge.resize( r , 1 ).merge

>> proses 5 : selesai merge lakukan border pada baris sebelum baris range
yang diproses, karena baris yang diproses ini sudah baris awal merge baru
akibat ada isinya
--> jadi harus lompat 1 baris ke atas lalu lompat ke kolom 1 alias 2 kolom
ke-kiri dari range yang diproses, kemudian diperluas sebanyak 1 baris dan
sekian banyak kolom tabel hasil (misal 4)
rngdiproses.offset(-1,-2).resize(
1,4).borders(xledgebottom).linestyle=xldouble

--> karena borders double itu butuh garus yang tebal maka diset garis
bordernya tebal (thick)
rngdiproses.offset(-1,-2).resize( 1,4).borders(xledgebottom).weight=xlthick

>> proses 6 : selesai cek berdasar keharusan melakukan merge (akibat nilai
dalam variabel r)
endif

>> proses 7 : karena proses pada cells sebelum range di proses sudah
selesai (dengan melakukan merge dan pasang border double), maka set ulang
isi range awal merge dan jumlah baris yang harus di merge (minimal 1 karena
range yang diproses butuh dimerge)
set rngawalmerge=rngdiproses
r=1

>> proses 8 : seluruh kondisi saat range di proses ada isinya sudah
selesai, maka sekarang kondisi jika rngdiproses tak ada isinya (kosong)
ELSE

>> proses 9 : pada saat rngdiproses kosong (pada area blok ELSE)
--> tentu yang terjadi adalah melakukan pernyataan bahwa cell kosong itu
harus dimerge bersama rngawalmerge nantinya kalau sudah tahu persis sampai
dimana cell kosong itu.
--> artinya, jumlah cell yang harus di-merge bertambah 1. Jadi nilai
variabel r harus ditambah 1.
r=r+1

>> proses 10 : seluruh kondisi berdasar isi range yang diproses sudah
selesai
endif

>> proses 11 : seluruh proses terhadap range yang diproses selesai, jadi
loopnya bisa ke rngdiproses berikutnya
next rngdiproses

*3. Proses setelah loop (setelah proses nomor 2) yang bunyinya :*
'setelah selesai, lakukan merge dari cell awal merge yang ada sebanyak
jumlah cell yang tercatat

'kemudian akhiri dengan memasang border dobel untuk sisi bawah
(xledgebottom) dari seluruh area data yang ada
rngData.Borders(xlEdgeBottom).LineStyle = xlDouble

>> Proses 1 : merge item kolom ke-3 yang terakhir yang ada isinya
--> setelah proses loop, didapat kondisi bahwa pada nilai kolom ke-3
terakhir yang ada isinya, tidak di-merge karena tidak ada kegiatan merge
yang dilakukan oleh loop sampai semua baris kosong setelahnya diperiksa.
--> untungnya, masih diketahui bahwa rngawalmerge ada isinya dan jumlah
cell yang harus di-merge ada nilainya, yaitu di variabel r
--> maka dilakukan proses merge akhir disini, dengan dipastikan bahwa r>0
(pasti ada yang harus di-merge)
IF r>0 THEN
rngawalmerge.resize(r,1).merge
endif

>> Proses 2 : setelah merge terakhir, juga harus mem-border double.
--> proses mem-border double pada baris akhir data tidak tergantung nilai
variabel r. Oleh sebab itu tidak diletakkan dalam blok IF r>0 THEN diatas
(Bagian 3. Proses 1)
--> rngdiproses terakhir saat keluar dari blok loop adalah range pada baris
terkahir data, maka dari rngdirposes ini harus ke kolom 1 (lompat 2 kolom
ke kiri) lalu diperluas 1 baris dan sejumlah kolom data (misal 4) untuk
proses pemberian border double yang harus dengan garis tebal.
rngdiproses.offset( 0 , -2 ).resize(
1,4).borders(xledgebottom).linestyle=xldouble
rngdiproses.offset( 0 , -2 ).resize(
1,4).borders(xledgebottom).weight=xlthick

*** ---------------- ***

Sepertinya begitu bunyinya.
Kalau ada yang error pun, sepertinya sudah cukup mudah untuk diuatk-atik
tanpa perlu melototin monitor (nanti ndak monitornya takut kalau
dipelototin terus).

Wassalam,
Kid.

2013/5/13 Imam Sinurat <sin.ur4t@yahoo.com>

> **
>
>
>
> Yth. Pak MrKid
>
> Terima kasih responnya.
> Step-step solusi arahan bpk sangat menarik, alur fikirnya mudah dicerna.
> Saking fahamnya saya dgn uraian bpk, saya sempat operkonpidens kalo ini
> mudah utk saya bereskan sendiri.
> Ternyata saya msh kesulitan men-translate 'bahasa manusia' ke 'bahasa
> mesin VBA'.
> Belasan jam begadang melototin monitor, Makronya bisa dieksekusi, tapi
> hasilnya msh semrawut. Akhirnya saya Nyerah :D
> Mohon bpk koreksi dmn letak kesalahannya (sekaligus kunci jwbnnya dah ya)
> hehe.. Makasih sblmnya.
>
> Wassalam
> Imam Sinurat
>
> Option Explicit
>
> Sub MergedanBorder()
>
> Dim rngData As Range
> Dim rangenya_kolom3 As Range
> Dim rngDiProses As Range
> Dim rngAwalMerge As Range
> Dim lRec As Long, r As Long
>
> With Sheet1
> 'Lokasi Utak-atiknya dipindah agar data aslinya tidak terganggu:: copast
> range g5 ke range s5
> .Range("g5:j25").Copy Destination:=.Range("s5")
>
> 'initialisasi data
> Set rngData = .Range("s8").CurrentRegion
> lRec = rngData.Rows.Count - 1
>
> Set rangenya_kolom3 = rngData.Resize(lRec, 1).Offset(1, 2)
> Set rngAwalMerge = rngData.Offset(1, 2).Resize(1, 1)
> End With
>
>
> 'loop setiap range di kolom 3
> For Each rngDiProses In rangenya_kolom3
>
>
> 'didalam loop ada tahap cek isi range yang sedang diproses oleh loop (pada
> contoh for each diatas adalah cek isi rngDiProses)
> 'jika ada isinya, maka lakukan :
> If rngDiProses.Value <> "" Then
>
>
> '1. merge cell dari cell awal diperluas sebanyak variabel jumlah cell
> 'rngAwalMerge.Resize(variabel_jumlah_cell).Merge
> r = rngDiProses.Rows.Count
> rngAwalMerge.Resize(r).Merge
>
>
> '2. beri border dobel dibawah range yang sedang diproses oleh loop (misal
> di rngDiProses),
> 'tetapi mulai kolom ke-1 (offset 2 kolom kekiri) yang diperluas 1 baris x
> sekian kolom data
> rngAwalMerge.Offset(0, -2).Resize(, 4).Borders(xlEdgeBottom).LineStyle =
> xlDouble
>
>
> '3. set cell awal merge baru (untuk blok merge berikutnya)
> 'Set rngAwalMerge = rngDiProses
> Set rngAwalMerge = rngDiProses
>
>
> '4. set ulang jumlah cell kembali ke 1 karena cell awal merge yang baru
> adalah cell pertama yang dimerge untuk blok merge tersebut
>
> 'jika tidak ada isinya alias kosong, maka lakukan :
> '1. penambahan jumlah cell yang harus di-merge dengan 1
> Else
> rngAwalMerge.Resize(r + 1).Merge
>
> End If
>
>
> 'sampai akhir loop, yaitu di baris Next
> Next rngDiProses
>
>
> 'setelah selesai, lakukan merge dari cell awal merge yang ada sebanyak
> jumlah cell yang tercatat
>
> 'kemudian akhiri dengan memasang border dobel untuk sisi bawah
> (xledgebottom) dari seluruh area data yang ada
> rngData.Borders(xlEdgeBottom).LineStyle = xlDouble
>
> End Sub
>
> ------------------------------
> Pada Sab, 11 Mei 2013 11:09 Waktu Terang Hari Pasifik Mr. Kid menulis:
>
>
> >Sepertinya Pak Imam akhir-akhir ini sedang giat belajar VBA ya..
> >gimana jika garis besar prosesnya saja dulu ya.......
>
>
>
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