Rabu, 27 Mei 2015

[belajar-excel] Digest Number 3445

14 Messages

Digest #3445
1.3
Re: Menyatukan 2 atau 3 baris menjadi 1 baris data by "Ahmad Syaifullah Lubis" syaifullah
1.4
Re: Menyatukan 2 atau 3 baris menjadi 1 baris data by "Mr. Kid" nmkid.family@ymail.com
1.5
Re: Menyatukan 2 atau 3 baris menjadi 1 baris data by "Ahmad Syaifullah Lubis" syaifullah
1.6
Re: Menyatukan 2 atau 3 baris menjadi 1 baris data by "Mr. Kid" nmkid.family@ymail.com
1.7
Re: Menyatukan 2 atau 3 baris menjadi 1 baris data by "Ahmad Syaifullah Lubis" syaifullah
1.8
Re: Menyatukan 2 atau 3 baris menjadi 1 baris data by "Mr. Kid" nmkid.family@ymail.com
2a
Re: Form Input [1 Attachment] by "Mr. Kid" nmkid.family@ymail.com
2b
Re: Form Input by "Samsudin"
2c
Re: Form Input by "Mr. Kid" nmkid.family@ymail.com
3
meng-Copy Arrat Formula by "Subroto, Matzen"
4
Pointer dalam listbox by "Haris Rifai" haris.rifai
5
Cell Request by "Subroto, Matzen"

Messages

Tue May 26, 2015 7:41 am (PDT) . Posted by:

"Toby kenzo" tobykenzo

Dear pak ASL,

Mungkin ini dari saya bisa membantu.

TerimaKasih.

Sent from Yahoo Mail on Android

Tue May 26, 2015 1:08 pm (PDT) . Posted by:

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

Hai Ahmad,

Kalau dilihat dari previewnya, sepertinya pengen ada tambahan syarat pokok
kolom D (kolom dikirinya yang kasus lalu, sesuaikan dengan keadaan nyatanya
bila ada kolom kosong diantaranya yang tak tampak) yang seperti kolom E.

Coba fokus pada blok IF dalam prosedur yang lalu :
*public *Sub kopi() 'tambahin explicit nya scope ah supaya mudah
membacanya
Dim baris As *double*, x As *long*
Dim wadah As String
For x = *cells(rows.count,3).end(xlup).row* To 7 Step -1

if Cells(x, 5).Value<>0 then 'poin 1
diperjelas keterangannya -> kolom E <> 0
if Cells(x, 1).Value = 0
Then 'kondisi dalam poin 1 alias poin
1.>. -> kolom A = 0
wadah = *Cells(x, 3).Value* & " " & *wadah*
baris = Cells(x, 5).Value
Cells(x, 3).Value = *vbnullstring*
Cells(x, 5).Value =
*vbnullstring* endif
elseif Cells(x, 1).Value <> 0 then 'poin
2 -> kolom E=0 DAN kolom A <> 0
Cells(x, 3).Value = *Cells(x, 3).Value* & " " & *wadah*
wadah = *vbnullstring*
Cells(x, 5).Value = baris
else
'poin 3 -> kolom E=0 DAN kolom A = 0
wadah = *Cells(x, 3).Value* & " " & *wadah*
Cells(x, 3).Value = *vbnullstring*
endif
Next x
End Sub

*Kondisi baru : (poin 1.5)*
Kolom D memiliki karakteristik seperti kolom E

if Cells(x, 5).Value<>0 then 'poin 1
diperjelas keterangannya -> kolom E <> 0
if Cells(x, 1).Value = 0
Then 'kondisi dalam poin 1 alias poin
1.>. -> kolom A = 0
wadah = *Cells(x, 3).Value* & " " & *wadah*
baris = Cells(x, 5).Value
Cells(x, 3).Value = *vbnullstring*
Cells(x, 5).Value =
*vbnullstring* endif
elseif Cells(x, 4).Value<>0 then 'poin
1.5 diperjelas keterangannya -> kolom D <> 0
if Cells(x, 1).Value = 0
Then 'kondisi dalam poin 1 alias poin
1.>. -> kolom A = 0
wadah = *Cells(x, 3).Value* & " " & *wadah*
baris = Cells(x, 4).Value
Cells(x, 3).Value = *vbnullstring*
Cells(x, 4).Value =
*vbnullstring* endif

elseif Cells(x, 1).Value <> 0 then 'poin
2 -> kolom E=0 DAN kolom A <> 0
Cells(x, 3).Value = *Cells(x, 3).Value* & " " & *wadah*
wadah = *vbnullstring*
* Cells(x, 5).Value = baris*
else
'poin 3 -> kolom E=0 DAN kolom A = 0
wadah = *Cells(x, 3).Value* & " " & *wadah*
Cells(x, 3).Value = *vbnullstring*
endif

*Sampai disini terjadi masalah berikut :*
*a.* nilai dalam variabel 'baris' tidak diketahui sumbernya, yaitu dari
nilai kolom E (akibat mengerjakan poin 1) atau dari kolom D (akibat
mengerjakan poin 1.5)

*b.* penulisan nilai yang disimpan dalam variabel bernama 'baris' adalah ke
kolom E saja (*lihat yang merah*)

Solusi untuk masalah untuk kasus :
a. disediakan sebuah variabel penyimpan nomor kolom sumber nilai yang
diambil. Jadi tugasnya menyimpan nilai 5 kalau mengambil nilai kolom E
karena mengerjakan poin 1, atau menyimpan nilai 4 kalau mengambil nilai
kolom D karena mengerjakan poin 1.5. Maka diblok poin 1 dan blok poin 1.5
nantinya akan diberi baris kode pengisian nilai 5 atau 4 tersebut.

b. karena proses penulisan menggunakan posisi nomor row dan nomor column
seperti *Cells(x, 5).Value* yang berarti di cells row ke-x di column 5,
berarti angka 5 pada baris tersebut bisa diganti dengan variabel penyimpan
nilai sumber kolom (5 atau 4) yang menjadi solusi poin a diatas tadi.

Proses penerapan solusi :
1. butuh sebuah variabel baru penyimpan nilai 5 atau 4
> butuh deklarasi variabel baru yang datatype untuk numerik bilangan bulat
saja, bisa byte, integer, atau long
> misal dipilih datatype Long supaya native dengan bit applikasi office
yang digunakan yang 32 bit
> nama variabelnya misal diberi nama lKolomSumber
> bunyi deklarasinya :

* dim lKolomSumber as long*
2. setiap blok poin diberi baris kode untuk set nilai 5 atau 4 sesuai
kondisi ke variabel baru tersebut
> blok poin 1 dulu -> berdasar kolom E <> 0
* poin 1 menggunakan kolom E alias kolom nomor 5 sebagai kondisi
* berarti nilai variabel lKolomSumber diblok ini harus diisi dengan
nilai 5
* prosesnya ditulis tepat setelah mengambil nilai dari kolom E
* berarti, setelah kode berbunyi :
baris = Cells(x, 5).Value
diberi proses pengisian nilai 5 ke variabel lKolomSumber dengan bunyi
berikut :
lKolomSumber=5

> blok poin 1.5 -> berdasar kolom D <> 0
* poin 1 menggunakan kolom D alias kolom nomor 4 sebagai kondisi
* berarti nilai variabel lKolomSumber diblok ini harus diisi dengan
nilai 4
* prosesnya ditulis tepat setelah mengambil nilai dari kolom D
* berarti, setelah kode berbunyi :
baris = Cells(x, 4).Value
diberi proses pengisian nilai 4 ke variabel lKolomSumber dengan bunyi
berikut :
lKolomSumber=4

3. Penulisan isi variabel bernama 'baris' ke suatu cells dilakukan sesuai
kolom sumbernya
> kode penulisan nilai yang sudah ada dalam prosedur berbunyi :
*Cells(x, 5).Value = baris*
> pada kode di atas, kolom sumbernya ditunjukkan dengan angka *5*
> berarti bagian angka *5* itulah yang harus diganti dengan variabel
penyimpan nomor kolom sumbernya (nama variabelnya lKolomSumber kan ya)
> berarti bunyi kodenya akan menjadi :
*Cells(x, **lKolomSumber).Value = baris*

Jadi prosedur yang sudah dikembangkan akan menjadi :

*public *Sub kopi() 'tambahin explicit nya scope ah supaya mudah
membacanya

Dim baris As *double*, x As *long*
Dim wadah As String
*dim lKolomSumber as long*
'private cop as object 'dumb private object
For x = *cells(rows.count,3).end(xlup).row* To 7 Step -1

if Cells(x, 5).Value<>0 then ''poin
1 diperjelas keterangannya -> kolom E <> 0
if Cells(x, 1).Value = 0
Then 'kondisi dalam poin 1 alias poin
1.>. -> kolom A = 0
wadah = *Cells(x, 3).Value* & " " & *wadah*
baris = Cells(x, 5).Value
*lKolomSumber =5*
Cells(x, 3).Value = *vbnullstring*
Cells(x, 5).Value =
*vbnullstring* endif

elseif Cells(x, 4).Value<>0 then "poin
1.5 diperjelas keterangannya -> kolom D <> 0
if Cells(x, 1).Value = 0
Then 'kondisi dalam poin 1 alias poin
1.>. -> kolom A = 0
wadah = *Cells(x, 3).Value* & " " & *wadah*
baris = Cells(x, 4).Value
*lKolomSumber =4*
Cells(x, 3).Value = *vbnullstring*
Cells(x, 4).Value =
*vbnullstring* endif

elseif Cells(x, 1).Value <> 0 then ''poin
2 -> kolom E=0 DAN kolom A <> 0
Cells(x, 3).Value = *Cells(x, 3).Value* & " " & *wadah*
wadah = *vbnullstring*
* Cells(x, **lKolomSumber ).Value = baris*
else
''poin 3 -> kolom E=0 DAN kolom A = 0
wadah = *Cells(x, 3).Value* & " " & *wadah*
Cells(x, 3).Value = *vbnullstring*
endif

Next x

End Sub

;)

Wassalam,
Kid

2015-05-26 18:28 GMT+10:00 Ahmad Syaifullah Lubis syaifullah@hotmail.com
[belajar-excel] <belajar-excel@yahoogroups.com>:

>
>
> Mr Kid, Mr Tobby, Mr Nang Agus dan BeExceller,
>
> Saya pakai macronya Mr Kid, tetapi tidak pas dengan Hasil Yang Diharapkan.
> terlampir file yang menjadi percobaan; buat saya sulit banget untuk
> memahaminya.
> Mohon dilihat sheet "Hasil Macro Yang Salah" dengan "Hasil Sheet Yang
> Diharapkan".
> terima kasih,
> ASL.
>
> ------------------------------
> To: belajar-excel@yahoogroups.com
> From: belajar-excel@yahoogroups.com
> Date: Tue, 26 May 2015 04:17:46 +1000
> Subject: Re: [belajar-excel] Menyatukan 2 atau 3 baris menjadi 1 baris data
>
>
>
> tampaknya mas Nang Agus kelupaan satu kondisi.
>
> Sub kopi()
> Dim baris As Long, tinggi As Integer, x As Integer
> Dim wadah As String
> tinggi = Range("c1000000").End(xlUp).Row
> For x = tinggi To 7 Step -1
> If Cells(x, 1).Value = 0 Then
> wadah = Cells(x, 3).Value & wadah
> Cells(x, 3).Value = ""
> If Cells(x, 5).Value <> 0 Then
> baris = Cells(x, 5).Value
> Cells(x, 5).Value = ""
> End If
> Else
> wadah = Cells(x, 3).Value & wadah
> Cells(x, 3).Value = wadah
> wadah = ""
> if Cells(x, 5).Value<>0 then
> Cells(x, 5).Value = baris
> endif
> End If
>
> Next x
> End Sub
>
> Script diatas sekaligus menyusun sebuah data teks (lihat variabel bernama
> wadah) dari beberapa baris data. Tampaknya ini dimaksudkan untuk menyusun
> record data yang baik, sehingga tabel hasil bisa mengikuti kaidah tabel
> database yang baik pula.
>
> Catatan :
> 1. variabel baris tampaknya untuk menyimpan suatu nilai numerik. Pada
> script di atas, tipe data di set menampung bilangan bulat saja dengan
> maksimum sekitar 2 x 10^10 lebih dikit.
> > andai data yang disimpan memiliki kemungkinan berjumlah digit lebih dari
> 9, sebaiknya tipe data variabel baris diubah menjadi double
>
> 2. variabel tinggi untuk menyimpan nomor baris Excel terakhir yang akan
> diproses. Tipe data yang digunakan adalah integer yang dibatasi sampai
> 32000 sekiun.
> > Andai kemungkinannya baris Excel yang digunakan oleh data mencapai lebih
> dari 32000 sekiun, maka sebaiknya tipe datanya diubah menjadi Long
>
> 3. variabel x yang digunakan dalam loop dengan for next juga seperti
> variabel tinggi.
>
> 4. untuk mendapatkan baris excel terakhir data bisa juga dengan bunyi kode
> berikut : (lihat baris kode set nilai tinggi)
> tinggi = cells(rows.count,3).end(xlup).row '3 adalah kolom c
> 'Range("c1000000").End(xlUp).Row
>
> 5. berhubung loop dengan for next, maka baris berbunyi for blabla akan
> dieksekusi 1 kali saja.
> > berarti, baris :
> For x =* tinggi *To 7 Step -1
> bisa diganti dengan :
> For x = *cells(rows.count,3).end(xlup).row* To 7 Step -1
> dan menjadi hemat proses eksekusi karena baris 'tinggi=blabla' bisa
> dihapus, dan bagian deklarasi 'tinggi as blabla' juga bisa dihapus
>
> 6. penggabungan data bertipe teks (string) yang ada dalam script di atas
> tidak menyertakan delimiter antar teks yang digabung
> > contoh baris :
> wadah = *Cells(x, 3).Value* & *wadah*
> andai *Cells(x, 3).Value* bernilai '*Kid*' dan *wadah* bernilai '*juga*'
> hasilnya akan menjadi '*Kidjuga*'
> > bisa jadi akan tampak lebih baik bila diberi delimiter. Misalnya
> delimiter-nya berupa sebuah karakter spasi. Maka barisnya menjadi :
> wadah = *Cells(x, 3).Value* & " " & *wadah*
> yang bisa menghasilkan teks hasil penggabungan berbunyi '*Kid* *juga*'
>
> 7. nomor 6 juga berlaku untuk baris kode berbunyi :
> wadah = Cells(x, 3).Value & wadah
>
> 8. variabel bernama wadah dan rujukan ke kolom C dengan Cells(x, 3)
> bertugas untuk menyusun sebuah teks dari beberapa baris teks
>
> 9. katanya, set string kosong akan lebih cepat diproses dan mudah tampak
> dalam editing script jika menghindari penggunaan "" dan lebih memilih
> menggunakan vbnullstring
> > contoh :
> Cells(x, 3).Value = ""
> katanya bisa lebih cepat diproses dan mudah tampak saat editing ketika
> menggunakan vbnullstring :
> Cells(x, 3).Value = vbnullstring
> > hal ini berlaku untuk beberapa baris yang lain, termasuk set nilai
> string kosong pada variabel bernama wadah
>
> 10. cells yang diset nilai dengan "" atau vbnullstring akan menjadi blank
> cells. jadi proses ini setara dengan penggunaan methods clearcontents milik
> si cells atau range
>
> 11. penghematan jumlah proses bisa dilakukan dengan meringkaskan si proses
> itu sendiri
> > contoh pada beberapa baris berikut : (dengan proses penggabungan teks
> yang sudah diperbaiki mengikuti nomor 7
> wadah = *Cells(x, 3).Value & " " & wadah*
> Cells(x, 3).Value = wadah
> wadah = ""
> "wadah (yang baru) diisi dengan nilai dari Cells(x, 3).Value yang digabung
> dengan spasi dan isi wadah (yang lama)
> lalu Cells(x, 3) diubah isinya dengan nilai yang disimpan dalam wadah
> (yang sudah baru)
> kemudian isi wadah (yang sudah baru tersebut) dibuang isinya."
>
> > proses seperti di atas bisa diringkas dengan :
> Cells(x, 3).Value = *Cells(x, 3).Value & " " & wadah*
> wadah=vbnullstring
> " Cells(x, 3) [yang baru] diisi dengan Cells(x, 3) [yang lama] digabung
> dengan spasi dan isi wadah
> lalu isi wadah dibuang."
>
> > setidaknya hemat 1 proses
>
> 12. prosedur di atas menggunakan rujukan ke object yang ada di sheet aktif
> (pasti di workbook yang sedang aktif)
>
>
> Kalau dikumpulkan semuanya, kira-kira prosedurnya menjadi :
> Sub kopi()
> Dim baris As *double*, x As *long*
> Dim wadah As String
> For x = *cells(rows.count,3).end(xlup).row* To 7 Step -1
> If Cells(x, 1).Value = 0 Then
> wadah = *Cells(x, 3).Value* & " " & *wadah*
> Cells(x, 3).Value = *vbnullstring*
> If Cells(x, 5).Value <> 0 Then
> baris = Cells(x, 5).Value
> Cells(x, 5).Value = *vbnullstring*
> End If
> Else
> Cells(x, 3).Value = *Cells(x, 3).Value* & " " & *wadah*
> wadah = *vbnullstring*
> if Cells(x, 5).Value<>0 then
> Cells(x, 5).Value = baris
> endif
> End If
> Next x
> End Sub
>
>
> Sampai disini, kalau dilihat-lihat berulang-ulang mengikuti si proses
> loop, kondisi proses yang akan dicapai kira-kira bunyinya :
> > mengikuti script di atas :
> a. kalau isi kolom A = 0, dilakukan :
> susun teks gabungan dan simpan di sebuah variabel
> pembersihan teks dari cell di kolom C
> a.1. kalau kolom E tidak 0, dilakukan :
> penyimpanan nilai kolom E ke suatu variabel
> pembersihan nilai dari cell di kolom E
> b. kalau isi kolom A <> 0 (bagian Else), dilakukan :
> tulis ke cell di kolom C gabungan nilai yang ada di kolom C
> dengan teks hasil gabungan yang disimpan dalam variabel
> buang gabungan teks dari variabel
> b.1. kalau kolom E bukan 0 alias ada isinya, dilakukan :
> tulis ke cell di kolom E suatu nilai yang
> disimpan dalam variabel nilai
>
> > jadi berdasar jabaran tentang kondisi dalam script tersebut di atas,
> sebenarnya ada kondisi pokok sebagai berikut :
> 1. ketika kolom E bukan 0 alias ada isinya (lihat b.1.) diperlukan
> memeriksa kolom A (lihat poin a dan b)
> > pada kolom E bukan 0 ini, proses dilakukan pada saat kolom A =
> 0, yaitu melakukan :
> - penggabungan teks kolom C dan menyimpannya ke suatu
> variabel
> - menyimpan nilai kolom E ke suatu variabel nilai
> - membuang isi kolom C dan kolom E
> * kalau kolom A tidak 0, tidak diperlukan proses apapun karena
> memang sudah demikian adanya
> 2. ketika kolom E = 0 dan kolom A <> 0
> > pada kondisi ini, dilakukan proses :
> - menulis ke kolom C, yaitu suatu nilai hasil penggabungan
> isi kolom C dengan isi variabel gabungan teks yang ada
> - membuang isi variabel gabungan teks
> - menulis ke kolom E, yaitu suatu nilai yang disimpan oleh
> suatu variabel nilai
> 3. ketika kolom E = 0 dan kolom A = 0
> > pada kondisi ini, dilakukan proses :
> - menggabungkan teks nilai kolom C dengan hasil penggabungan
> yang ada ke suatu variabel gabungan teks
> - membuang isi kolom C
>
> > sepertinya susunan kondisinya bisa berbentuk :
> if Cells(x, 5).Value<>0 then 'poin
> 1
> if Cells(x, 1).Value = 0
> Then 'kondisi dalam poin 1 alias poin
> 1.>.
> wadah = *Cells(x, 3).Value* & " " & *wadah*
> baris = Cells(x, 5).Value
> Cells(x, 3).Value = *vbnullstring*
> Cells(x, 5).Value =
> *vbnullstring* endif
> elseif Cells(x, 1).Value <> 0 then 'poin 2
> Cells(x, 3).Value = *Cells(x, 3).Value* & " " & *wadah*
> wadah = *vbnullstring*
> Cells(x, 5).Value = baris
>
> else
> 'poin 3
> wadah = *Cells(x, 3).Value* & " " & *wadah*
> Cells(x, 3).Value = *vbnullstring*
> endif
>
> Jadi, susunan prosedurnya akan menjadi :
> *public *Sub kopi() 'tambahin explicit nya scope ah supaya mudah
> membacanya
> Dim baris As *double*, x As *long*
> Dim wadah As String
> For x = *cells(rows.count,3).end(xlup).row* To 7 Step -1
>
> if Cells(x, 5).Value<>0 then
> 'poin 1
> if Cells(x, 1).Value = 0
> Then 'kondisi dalam poin 1 alias poin
> 1.>.
> wadah = *Cells(x, 3).Value* & " " & *wadah*
> baris = Cells(x, 5).Value
> Cells(x, 3).Value = *vbnullstring*
> Cells(x, 5).Value =
> *vbnullstring* endif
> elseif Cells(x, 1).Value <> 0 then 'poin 2
> Cells(x, 3).Value = *Cells(x, 3).Value* & " " & *wadah*
> wadah = *vbnullstring*
> Cells(x, 5).Value = baris
>
> else
> 'poin 3
> wadah = *Cells(x, 3).Value* & " " & *wadah*
> Cells(x, 3).Value = *vbnullstring*
> endif
> Next x
> End Sub
>
>
> Tentang :
>
> gimana kalau macronya berjalan untuk semua sheet yang ada
>
> > merujuk ke nomor 12 di atas sana, berarti dibutuhkan prosedur lainnya
> yang bertugas melakukan loop ke setiap sheet lalu mengaktifkan sheet
> tersebut. Kalau sheetnya sudah aktif, panggil prosedur di atas.
> dim sht as worksheet
> for each sht in thisworkbook.worksheets
> sht.activate
> kopi
> next sht
>
> Biasanya kalau sudah begini, akan ada pertanyaan : bagaimana kalau ada
> banyak workbook...
> > rasanya sudah pada bisa.
> > buat prosedur lainnya yang bertugas buka workbook (kalau belum dibuka)
> loop di setiap workbook, lalu panggil prosedur yang loop setiap sheet tadi
> dan ditutup dengan save workbook yang di loop dan tutup workbook yang di
> loop
> > sebaiknya cari-carilah di postingan lawas tentang membuka workbook lain,
> tentang loop setiap workbook, dan sebagainya.
>
> Wassalam,
> Kid
>
>
>
> 2015-05-25 18:42 GMT+10:00 Ahmad Syaifullah Lubis syaifullah@hotmail.com
> [belajar-excel] <belajar-excel@yahoogroups.com>:
>
>
>
> Dear Mr Nang Agus,
> ternyata data kolom E nya menjadi salah, tidak sinkron dengan aslinya.
> terima kasih,
> ASL
>
> ------------------------------
> To: belajar-excel@yahoogroups.com
> From: belajar-excel@yahoogroups.com
> Date: Mon, 25 May 2015 13:07:02 +0700
> Subject: Re: [belajar-excel] Menyatukan 2 atau 3 baris menjadi 1 baris data
>
>
>
> Mohon maaf ada yang ketinggalan untuk kolom E, mungkin cekripnya begini:
>
> Option Explicit
> Sub kopi()
> Dim baris As Long, tinggi As Integer, x As Integer
> Dim wadah As String
> tinggi = Range("c1000000").End(xlUp).Row
> For x = tinggi To 7 Step -1
> If Cells(x, 1).Value = 0 Then
> wadah = Cells(x, 3).Value & wadah
> Cells(x, 3).Value = ""
> If Cells(x, 5).Value <> 0 Then
> baris = Cells(x, 5).Value
> Cells(x, 5).Value = ""
> End If
> Else
> wadah = Cells(x, 3).Value & wadah
> Cells(x, 3).Value = wadah
> wadah = ""
> Cells(x, 5).Value = baris
> End If
>
> Next x
>
> End Sub
>
> 2015-05-25 12:52 GMT+07:00 Nang Agus <nangagus@gmail.com>:
>
> Mungkinkah macro begini?
> Option Explicit
> Sub kopi()
> Dim baris As Integer, tinggi As Integer, x As Integer
> Dim wadah As String
> tinggi = Range("c1000000").End(xlUp).Row
> For x = tinggi To 7 Step -1
> If Cells(x, 1).Value = 0 Then
> wadah = Cells(x, 3).Value & wadah
> Cells(x, 3).Value = ""
> Else
> wadah = Cells(x, 3).Value & wadah
> Cells(x, 3).Value = wadah
> wadah = ""
> End If
> Next x
>
> 2015-05-25 10:11 GMT+07:00 Ahmad Syaifullah Lubis syaifullah@hotmail.com
> [belajar-excel] <belajar-excel@yahoogroups.com>:
>
>
>
> Dear BeExceller,
>
> Saya mendapatkan data yang cukup membuat saya kewalahan, di mana data2nya
> biasanya hanya 1 baris, tetapi terkadang ada 2 atau 3 baris, sehingga saya
> kerepotan dalam menyatukannya menjadi 1 baris.
> Mohon diberikan macro yang bisa mengatasi masalah saya tsb.
>
> terima kasih,
>
> ASL
>
>
>
>
>
>
>
>
>

Wed May 27, 2015 12:02 am (PDT) . Posted by:

"Ahmad Syaifullah Lubis" syaifullah

Mr Kid,
terima kasih ya Mr Kid, cuman kenapa ya saldo awal muncul angka di kolom E, seharusnya kolom D dan E untuk saldo awal kosong. cuman kalau sebelumnya saya beri tanda petik (") di kolom D dan E maka waktu diproses macronya baru bisa berjalan dengan sempurna.
Mohon koreksinya Mr Kid.
terima kasih,
ASL

To: belajar-excel@yahoogroups.com
From: belajar-excel@yahoogroups.com
Date: Wed, 27 May 2015 06:07:47 +1000
Subject: Re: [belajar-excel] Menyatukan 2 atau 3 baris menjadi 1 baris data


Hai Ahmad,


Kalau dilihat dari previewnya, sepertinya pengen ada tambahan syarat pokok kolom D (kolom dikirinya yang kasus lalu, sesuaikan dengan keadaan nyatanya bila ada kolom kosong diantaranya yang tak tampak) yang seperti kolom E.


Coba fokus pada blok IF dalam prosedur yang lalu :
public Sub kopi() 'tambahin explicit nya scope ah supaya mudah membacanya
Dim baris As double, x As long
Dim wadah As String
For x = cells(rows.count,3).end(xlup).row To 7 Step -1

if Cells(x, 5).Value<>0 then 'poin 1 diperjelas keterangannya -> kolom E <> 0

if Cells(x, 1).Value = 0 Then 'kondisi dalam poin 1 alias poin 1.>. -> kolom A = 0

wadah = Cells(x, 3).Value & " " & wadah
baris = Cells(x, 5).Value
Cells(x, 3).Value = vbnullstring
Cells(x, 5).Value = vbnullstring
endif

elseif Cells(x, 1).Value <> 0 then 'poin 2 -> kolom E=0 DAN kolom A <> 0

Cells(x, 3).Value = Cells(x, 3).Value & " " & wadah
wadah = vbnullstring
Cells(x, 5).Value = baris

else 'poin 3 -> kolom E=0 DAN kolom A = 0
wadah = Cells(x, 3).Value & " " & wadah
Cells(x, 3).Value = vbnullstring

endif
Next x
End Sub


Kondisi baru : (poin 1.5)

Kolom D memiliki karakteristik seperti kolom E


if Cells(x, 5).Value<>0 then 'poin 1 diperjelas keterangannya -> kolom E <> 0

if Cells(x, 1).Value = 0 Then 'kondisi dalam poin 1 alias poin 1.>. -> kolom A = 0

wadah = Cells(x, 3).Value & " " & wadah
baris = Cells(x, 5).Value
Cells(x, 3).Value = vbnullstring
Cells(x, 5).Value = vbnullstring
endif

elseif Cells(x, 4).Value<>0 then 'poin 1.5 diperjelas keterangannya -> kolom D <> 0
if Cells(x, 1).Value = 0 Then 'kondisi dalam poin 1 alias poin 1.>. -> kolom A = 0

wadah = Cells(x, 3).Value & " " & wadah
baris = Cells(x, 4).Value
Cells(x, 3).Value = vbnullstring
Cells(x, 4).Value = vbnullstring
endif


elseif Cells(x, 1).Value <> 0 then 'poin 2 -> kolom E=0 DAN kolom A <> 0

Cells(x, 3).Value = Cells(x, 3).Value & " " & wadah
wadah = vbnullstring
Cells(x, 5).Value = baris

else 'poin 3 -> kolom E=0 DAN kolom A = 0
wadah = Cells(x, 3).Value & " " & wadah
Cells(x, 3).Value = vbnullstring

endif


Sampai disini terjadi masalah berikut :
a. nilai dalam variabel 'baris&#39; tidak diketahui sumbernya, yaitu dari nilai kolom E (akibat mengerjakan poin 1) atau dari kolom D (akibat mengerjakan poin 1.5)


b. penulisan nilai yang disimpan dalam variabel bernama 'baris&#39; adalah ke kolom E saja (lihat yang merah)



Solusi untuk masalah untuk kasus :

a. disediakan sebuah variabel penyimpan nomor kolom sumber nilai yang diambil. Jadi tugasnya menyimpan nilai 5 kalau mengambil nilai kolom E karena mengerjakan poin 1, atau menyimpan nilai 4 kalau mengambil nilai kolom D karena mengerjakan poin 1.5. Maka diblok poin 1 dan blok poin 1.5 nantinya akan diberi baris kode pengisian nilai 5 atau 4 tersebut.


b. karena proses penulisan menggunakan posisi nomor row dan nomor column seperti Cells(x, 5).Value yang berarti di cells row ke-x di column 5, berarti angka 5 pada baris tersebut bisa diganti dengan variabel penyimpan nilai sumber kolom (5 atau 4) yang menjadi solusi poin a diatas tadi.



Proses penerapan solusi :

1. butuh sebuah variabel baru penyimpan nilai 5 atau 4

> butuh deklarasi variabel baru yang datatype untuk numerik bilangan bulat saja, bisa byte, integer, atau long

> misal dipilih datatype Long supaya native dengan bit applikasi office yang digunakan yang 32 bit

> nama variabelnya misal diberi nama lKolomSumber

> bunyi deklarasinya :

dim lKolomSumber as long


2. setiap blok poin diberi baris kode untuk set nilai 5 atau 4 sesuai kondisi ke variabel baru tersebut

> blok poin 1 dulu -> berdasar kolom E <> 0

* poin 1 menggunakan kolom E alias kolom nomor 5 sebagai kondisi

* berarti nilai variabel lKolomSumber diblok ini harus diisi dengan nilai 5

* prosesnya ditulis tepat setelah mengambil nilai dari kolom E

* berarti, setelah kode berbunyi :
baris = Cells(x, 5).Value

diberi proses pengisian nilai 5 ke variabel lKolomSumber dengan bunyi berikut :

lKolomSumber=5


> blok poin 1.5 -> berdasar kolom D <> 0
* poin 1 menggunakan kolom D alias kolom nomor 4 sebagai kondisi

* berarti nilai variabel lKolomSumber diblok ini harus diisi dengan nilai 4

* prosesnya ditulis tepat setelah mengambil nilai dari kolom D

* berarti, setelah kode berbunyi :
baris = Cells(x, 4).Value

diberi proses pengisian nilai 4 ke variabel lKolomSumber dengan bunyi berikut :

lKolomSumber=4


3. Penulisan isi variabel bernama 'baris&#39; ke suatu cells dilakukan sesuai kolom sumbernya

> kode penulisan nilai yang sudah ada dalam prosedur berbunyi :
Cells(x, 5).Value = baris
> pada kode di atas, kolom sumbernya ditunjukkan dengan angka 5

> berarti bagian angka 5 itulah yang harus diganti dengan variabel penyimpan nomor kolom sumbernya (nama variabelnya lKolomSumber kan ya)

> berarti bunyi kodenya akan menjadi :
Cells(x, lKolomSumber).Value = baris



Jadi prosedur yang sudah dikembangkan akan menjadi :

public Sub kopi() 'tambahin explicit nya scope ah supaya mudah membacanya

Dim baris As double, x As long
Dim wadah As String
dim lKolomSumber as long
'private cop as object 'dumb private object
For x = cells(rows.count,3).end(xlup).row To 7 Step -1

if Cells(x, 5).Value<>0 then ''poin 1 diperjelas keterangannya -> kolom E <> 0

if Cells(x, 1).Value = 0 Then 'kondisi dalam poin 1 alias poin 1.>. -> kolom A = 0

wadah = Cells(x, 3).Value & " " & wadah
baris = Cells(x, 5).Value
lKolomSumber =5
Cells(x, 3).Value = vbnullstring
Cells(x, 5).Value = vbnullstring
endif


elseif Cells(x, 4).Value<>0 then "poin 1.5 diperjelas keterangannya -> kolom D <> 0
if Cells(x, 1).Value = 0 Then 'kondisi dalam poin 1 alias poin 1.>. -> kolom A = 0

wadah = Cells(x, 3).Value & " " & wadah
baris = Cells(x, 4).Value
lKolomSumber =4
Cells(x, 3).Value = vbnullstring
Cells(x, 4).Value = vbnullstring
endif


elseif Cells(x, 1).Value <> 0 then ''poin 2 -> kolom E=0 DAN kolom A <> 0

Cells(x, 3).Value = Cells(x, 3).Value & " " & wadah
wadah = vbnullstring
Cells(x, lKolomSumber ).Value = baris

else ''poin 3 -> kolom E=0 DAN kolom A = 0
wadah = Cells(x, 3).Value & " " & wadah
Cells(x, 3).Value = vbnullstring

endif



Next x

End Sub



;)


Wassalam,

Kid




















Wed May 27, 2015 12:06 am (PDT) . Posted by:

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

Oh berarti baris Saldo di baris 7 ya....
Kalau gitu for nya jangan sampai 7 atau jangan sampai baris saldo. Sampai
baris Excel-nya record transaksi pertama saja.

Wassalam,
Kid

2015-05-27 16:07 GMT+10:00 Ahmad Syaifullah Lubis syaifullah@hotmail.com
[belajar-excel] <belajar-excel@yahoogroups.com>:

>
>
> Mr Kid,
> terima kasih ya Mr Kid, cuman kenapa ya saldo awal muncul angka di kolom
> E, seharusnya kolom D dan E untuk saldo awal kosong. cuman kalau sebelumnya
> saya beri tanda petik (") di kolom D dan E maka waktu diproses macronya
> baru bisa berjalan dengan sempurna.
> Mohon koreksinya Mr Kid.
> terima kasih,
> ASL
>
> ------------------------------
> To: belajar-excel@yahoogroups.com
> From: belajar-excel@yahoogroups.com
> Date: Wed, 27 May 2015 06:07:47 +1000
> Subject: Re: [belajar-excel] Menyatukan 2 atau 3 baris menjadi 1 baris data
>
>
>
> Hai Ahmad,
>
> Kalau dilihat dari previewnya, sepertinya pengen ada tambahan syarat pokok
> kolom D (kolom dikirinya yang kasus lalu, sesuaikan dengan keadaan nyatanya
> bila ada kolom kosong diantaranya yang tak tampak) yang seperti kolom E.
>
> Coba fokus pada blok IF dalam prosedur yang lalu :
> *public *Sub kopi() 'tambahin explicit nya scope ah supaya mudah
> membacanya
> Dim baris As *double*, x As *long*
> Dim wadah As String
> For x = *cells(rows.count,3).end(xlup).row* To 7 Step -1
>
> if Cells(x, 5).Value<>0 then 'poin
> 1 diperjelas keterangannya -> kolom E <> 0
> if Cells(x, 1).Value = 0
> Then 'kondisi dalam poin 1 alias poin
> 1.>. -> kolom A = 0
> wadah = *Cells(x, 3).Value* " " *wadah*
> baris = Cells(x, 5).Value
> Cells(x, 3).Value = *vbnullstring*
> Cells(x, 5).Value =
> *vbnullstring* endif
> elseif Cells(x, 1).Value <> 0 then 'poin
> 2 -> kolom E=0 DAN kolom A <> 0
> Cells(x, 3).Value = *Cells(x, 3).Value* " " *wadah*
> wadah = *vbnullstring*
> Cells(x, 5).Value = baris
>
> else
> 'poin 3 -> kolom E=0 DAN kolom A = 0
> wadah = *Cells(x, 3).Value* " " *wadah*
> Cells(x, 3).Value = *vbnullstring*
> endif
> Next x
> End Sub
>
>
> *Kondisi baru : (poin 1.5)*
> Kolom D memiliki karakteristik seperti kolom E
>
> if Cells(x, 5).Value<>0 then 'poin
> 1 diperjelas keterangannya -> kolom E <> 0
> if Cells(x, 1).Value = 0
> Then 'kondisi dalam poin 1 alias poin
> 1.>. -> kolom A = 0
> wadah = *Cells(x, 3).Value* " " *wadah*
> baris = Cells(x, 5).Value
> Cells(x, 3).Value = *vbnullstring*
> Cells(x, 5).Value =
> *vbnullstring* endif
> elseif Cells(x, 4).Value<>0 then 'poin
> 1.5 diperjelas keterangannya -> kolom D <> 0
> if Cells(x, 1).Value = 0
> Then 'kondisi dalam poin 1 alias poin
> 1.>. -> kolom A = 0
> wadah = *Cells(x, 3).Value* " " *wadah*
> baris = Cells(x, 4).Value
> Cells(x, 3).Value = *vbnullstring*
> Cells(x, 4).Value =
> *vbnullstring* endif
>
> elseif Cells(x, 1).Value <> 0 then 'poin
> 2 -> kolom E=0 DAN kolom A <> 0
> Cells(x, 3).Value = *Cells(x, 3).Value* " " *wadah*
> wadah = *vbnullstring*
> * Cells(x, 5).Value = baris*
>
> else
> 'poin 3 -> kolom E=0 DAN kolom A = 0
> wadah = *Cells(x, 3).Value* " " *wadah*
> Cells(x, 3).Value = *vbnullstring*
> endif
>
> *Sampai disini terjadi masalah berikut :*
> *a.* nilai dalam variabel 'baris&#39; tidak diketahui sumbernya, yaitu dari
> nilai kolom E (akibat mengerjakan poin 1) atau dari kolom D (akibat
> mengerjakan poin 1.5)
>
> *b.* penulisan nilai yang disimpan dalam variabel bernama 'baris&#39; adalah
> ke kolom E saja (*lihat yang merah*)
>
> Solusi untuk masalah untuk kasus :
> a. disediakan sebuah variabel penyimpan nomor kolom sumber nilai yang
> diambil. Jadi tugasnya menyimpan nilai 5 kalau mengambil nilai kolom E
> karena mengerjakan poin 1, atau menyimpan nilai 4 kalau mengambil nilai
> kolom D karena mengerjakan poin 1.5. Maka diblok poin 1 dan blok poin 1.5
> nantinya akan diberi baris kode pengisian nilai 5 atau 4 tersebut.
>
> b. karena proses penulisan menggunakan posisi nomor row dan nomor column
> seperti *Cells(x, 5).Value* yang berarti di cells row ke-x di column 5,
> berarti angka 5 pada baris tersebut bisa diganti dengan variabel penyimpan
> nilai sumber kolom (5 atau 4) yang menjadi solusi poin a diatas tadi.
>
> Proses penerapan solusi :
> 1. butuh sebuah variabel baru penyimpan nilai 5 atau 4
> > butuh deklarasi variabel baru yang datatype untuk numerik bilangan bulat
> saja, bisa byte, integer, atau long
> > misal dipilih datatype Long supaya native dengan bit applikasi office
> yang digunakan yang 32 bit
> > nama variabelnya misal diberi nama lKolomSumber
> > bunyi deklarasinya :
>
> * dim lKolomSumber as long*
> 2. setiap blok poin diberi baris kode untuk set nilai 5 atau 4 sesuai
> kondisi ke variabel baru tersebut
> > blok poin 1 dulu -> berdasar kolom E <> 0
> * poin 1 menggunakan kolom E alias kolom nomor 5 sebagai kondisi
> * berarti nilai variabel lKolomSumber diblok ini harus diisi dengan
> nilai 5
> * prosesnya ditulis tepat setelah mengambil nilai dari kolom E
> * berarti, setelah kode berbunyi :
> baris = Cells(x, 5).Value
> diberi proses pengisian nilai 5 ke variabel lKolomSumber dengan
> bunyi berikut :
> lKolomSumber=5
>
> > blok poin 1.5 -> berdasar kolom D <> 0
> * poin 1 menggunakan kolom D alias kolom nomor 4 sebagai kondisi
> * berarti nilai variabel lKolomSumber diblok ini harus diisi dengan
> nilai 4
> * prosesnya ditulis tepat setelah mengambil nilai dari kolom D
> * berarti, setelah kode berbunyi :
> baris = Cells(x, 4).Value
> diberi proses pengisian nilai 4 ke variabel lKolomSumber dengan
> bunyi berikut :
> lKolomSumber=4
>
> 3. Penulisan isi variabel bernama 'baris&#39; ke suatu cells dilakukan sesuai
> kolom sumbernya
> > kode penulisan nilai yang sudah ada dalam prosedur berbunyi :
> *Cells(x, 5).Value = baris*
> > pada kode di atas, kolom sumbernya ditunjukkan dengan angka *5*
> > berarti bagian angka *5* itulah yang harus diganti dengan variabel
> penyimpan nomor kolom sumbernya (nama variabelnya lKolomSumber kan ya)
> > berarti bunyi kodenya akan menjadi :
> *Cells(x, **lKolomSumber).Value = baris*
>
> Jadi prosedur yang sudah dikembangkan akan menjadi :
>
> *public *Sub kopi() 'tambahin explicit nya scope ah supaya mudah
> membacanya
>
> Dim baris As *double*, x As *long*
> Dim wadah As String
> *dim lKolomSumber as long*
> 'private cop as object 'dumb private object
> For x = *cells(rows.count,3).end(xlup).row* To 7 Step -1
>
> if Cells(x, 5).Value<>0 then
> ''poin 1 diperjelas keterangannya -> kolom E <> 0
> if Cells(x, 1).Value = 0
> Then 'kondisi dalam poin 1 alias poin
> 1.>. -> kolom A = 0
> wadah = *Cells(x, 3).Value* " " *wadah*
> baris = Cells(x, 5).Value
> *lKolomSumber =5*
> Cells(x, 3).Value = *vbnullstring*
> Cells(x, 5).Value =
> *vbnullstring* endif
>
> elseif Cells(x, 4).Value<>0 then "poin
> 1.5 diperjelas keterangannya -> kolom D <> 0
> if Cells(x, 1).Value = 0
> Then 'kondisi dalam poin 1 alias poin
> 1.>. -> kolom A = 0
> wadah = *Cells(x, 3).Value* " " *wadah*
> baris = Cells(x, 4).Value
> *lKolomSumber =4*
> Cells(x, 3).Value = *vbnullstring*
> Cells(x, 4).Value =
> *vbnullstring* endif
>
> elseif Cells(x, 1).Value <> 0 then ''poin
> 2 -> kolom E=0 DAN kolom A <> 0
> Cells(x, 3).Value = *Cells(x, 3).Value* " " *wadah*
> wadah = *vbnullstring*
> * Cells(x, **lKolomSumber ).Value = baris*
>
> else
> ''poin 3 -> kolom E=0 DAN kolom A = 0
> wadah = *Cells(x, 3).Value* " " *wadah*
> Cells(x, 3).Value = *vbnullstring*
> endif
>
> Next x
>
> End Sub
>
>
>
> ;)
>
> Wassalam,
> Kid
>
>
>
>
>
>
>
>
>

Wed May 27, 2015 12:22 am (PDT) . Posted by:

"Ahmad Syaifullah Lubis" syaifullah

Dear Mr Kid,
Terima kasih, sudah saya ganti nilai baris 7 menjadi 8, dan jalan sudah.
Hanya mengapa di baris terakhir kata "Total"nya hilang ya?
satu lagi Mr Kid, tambahin dong macro agar berjalan sampai dengan sheet yang terakhir pada workbook yang ada. Sungguh, saya gak sanggup untuk menambahkan fungsi yang dapat memproses berulang.
terima kasih,
ASL.

To: belajar-excel@yahoogroups.com
From: belajar-excel@yahoogroups.com
Date: Wed, 27 May 2015 17:06:27 +1000
Subject: Re: [belajar-excel] Menyatukan 2 atau 3 baris menjadi 1 baris data

Oh berarti baris Saldo di baris 7 ya....
Kalau gitu for nya jangan sampai 7 atau jangan sampai baris saldo. Sampai baris Excel-nya record transaksi pertama saja.

Wassalam,
Kid

2015-05-27 16:07 GMT+10:00 Ahmad Syaifullah Lubis syaifullah@hotmail.com [belajar-excel] <belajar-excel@yahoogroups.com>:

Mr Kid,
terima kasih ya Mr Kid, cuman kenapa ya saldo awal muncul angka di kolom E, seharusnya kolom D dan E untuk saldo awal kosong. cuman kalau sebelumnya saya beri tanda petik (") di kolom D dan E maka waktu diproses macronya baru bisa berjalan dengan sempurna.
Mohon koreksinya Mr Kid.
terima kasih,
ASL

To: belajar-excel@yahoogroups.com
From: belajar-excel@yahoogroups.com
Date: Wed, 27 May 2015 06:07:47 +1000
Subject: Re: [belajar-excel] Menyatukan 2 atau 3 baris menjadi 1 baris data

Hai Ahmad,

Kalau dilihat dari previewnya, sepertinya pengen ada tambahan syarat pokok kolom D (kolom dikirinya yang kasus lalu, sesuaikan dengan keadaan nyatanya bila ada kolom kosong diantaranya yang tak tampak) yang seperti kolom E.

Coba fokus pada blok IF dalam prosedur yang lalu :
public Sub kopi() 'tambahin explicit nya scope ah supaya mudah membacanya
Dim baris As double, x As long
Dim wadah As String
For x = cells(rows.count,3).end(xlup).row To 7 Step -1

if Cells(x, 5).Value<>0 then 'poin 1 diperjelas keterangannya -> kolom E <> 0
if Cells(x, 1).Value = 0 Then 'kondisi dalam poin 1 alias poin 1.>. -> kolom A = 0
wadah = Cells(x, 3).Value " " wadah
baris = Cells(x, 5).Value
Cells(x, 3).Value = vbnullstring Cells(x, 5).Value = vbnullstring
endif

elseif Cells(x, 1).Value <> 0 then 'poin 2 -> kolom E=0 DAN kolom A <> 0
Cells(x, 3).Value = Cells(x, 3).Value " " wadah
wadah = vbnullstring
Cells(x, 5).Value = baris
else 'poin 3 -> kolom E=0 DAN kolom A = 0
wadah = Cells(x, 3).Value " " wadah
Cells(x, 3).Value = vbnullstring
endif
Next x
End Sub

Kondisi baru : (poin 1.5)
Kolom D memiliki karakteristik seperti kolom E

if Cells(x, 5).Value<>0 then 'poin 1 diperjelas keterangannya -> kolom E <> 0
if Cells(x, 1).Value = 0 Then 'kondisi dalam poin 1 alias poin 1.>. -> kolom A = 0
wadah = Cells(x, 3).Value " " wadah
baris = Cells(x, 5).Value
Cells(x, 3).Value = vbnullstring Cells(x, 5).Value = vbnullstring
endif
elseif Cells(x, 4).Value<>0 then 'poin 1.5 diperjelas keterangannya -> kolom D <> 0
if Cells(x, 1).Value = 0 Then 'kondisi dalam poin 1 alias poin 1.>. -> kolom A = 0
wadah = Cells(x, 3).Value " " wadah
baris = Cells(x, 4).Value
Cells(x, 3).Value = vbnullstring Cells(x, 4).Value = vbnullstring
endif

elseif Cells(x, 1).Value <> 0 then 'poin 2 -> kolom E=0 DAN kolom A <> 0
Cells(x, 3).Value = Cells(x, 3).Value " " wadah
wadah = vbnullstring
Cells(x, 5).Value = baris
else 'poin 3 -> kolom E=0 DAN kolom A = 0
wadah = Cells(x, 3).Value " " wadah
Cells(x, 3).Value = vbnullstring
endif

Sampai disini terjadi masalah berikut :
a. nilai dalam variabel 'baris&#39; tidak diketahui sumbernya, yaitu dari nilai kolom E (akibat mengerjakan poin 1) atau dari kolom D (akibat mengerjakan poin 1.5)

b. penulisan nilai yang disimpan dalam variabel bernama 'baris&#39; adalah ke kolom E saja (lihat yang merah)

Solusi untuk masalah untuk kasus :
a. disediakan sebuah variabel penyimpan nomor kolom sumber nilai yang diambil. Jadi tugasnya menyimpan nilai 5 kalau mengambil nilai kolom E karena mengerjakan poin 1, atau menyimpan nilai 4 kalau mengambil nilai kolom D karena mengerjakan poin 1.5. Maka diblok poin 1 dan blok poin 1.5 nantinya akan diberi baris kode pengisian nilai 5 atau 4 tersebut.

b. karena proses penulisan menggunakan posisi nomor row dan nomor column seperti Cells(x, 5).Value yang berarti di cells row ke-x di column 5, berarti angka 5 pada baris tersebut bisa diganti dengan variabel penyimpan nilai sumber kolom (5 atau 4) yang menjadi solusi poin a diatas tadi.

Proses penerapan solusi :
1. butuh sebuah variabel baru penyimpan nilai 5 atau 4
> butuh deklarasi variabel baru yang datatype untuk numerik bilangan bulat saja, bisa byte, integer, atau long
> misal dipilih datatype Long supaya native dengan bit applikasi office yang digunakan yang 32 bit
> nama variabelnya misal diberi nama lKolomSumber
> bunyi deklarasinya :
dim lKolomSumber as long

2. setiap blok poin diberi baris kode untuk set nilai 5 atau 4 sesuai kondisi ke variabel baru tersebut
> blok poin 1 dulu -> berdasar kolom E <> 0
* poin 1 menggunakan kolom E alias kolom nomor 5 sebagai kondisi
* berarti nilai variabel lKolomSumber diblok ini harus diisi dengan nilai 5
* prosesnya ditulis tepat setelah mengambil nilai dari kolom E
* berarti, setelah kode berbunyi :
baris = Cells(x, 5).Value
diberi proses pengisian nilai 5 ke variabel lKolomSumber dengan bunyi berikut :
lKolomSumber=5

> blok poin 1.5 -> berdasar kolom D <> 0
* poin 1 menggunakan kolom D alias kolom nomor 4 sebagai kondisi
* berarti nilai variabel lKolomSumber diblok ini harus diisi dengan nilai 4
* prosesnya ditulis tepat setelah mengambil nilai dari kolom D
* berarti, setelah kode berbunyi :
baris = Cells(x, 4).Value
diberi proses pengisian nilai 4 ke variabel lKolomSumber dengan bunyi berikut :
lKolomSumber=4

3. Penulisan isi variabel bernama 'baris&#39; ke suatu cells dilakukan sesuai kolom sumbernya
> kode penulisan nilai yang sudah ada dalam prosedur berbunyi :
Cells(x, 5).Value = baris> pada kode di atas, kolom sumbernya ditunjukkan dengan angka 5
> berarti bagian angka 5 itulah yang harus diganti dengan variabel penyimpan nomor kolom sumbernya (nama variabelnya lKolomSumber kan ya)
> berarti bunyi kodenya akan menjadi :
Cells(x, lKolomSumber).Value = baris

Jadi prosedur yang sudah dikembangkan akan menjadi :

public Sub kopi() 'tambahin explicit nya scope ah supaya mudah membacanya

Dim baris As double, x As long
Dim wadah As String
dim lKolomSumber as long
'private cop as object 'dumb private object
For x = cells(rows.count,3).end(xlup).row To 7 Step -1

if Cells(x, 5).Value<>0 then ''poin 1 diperjelas keterangannya -> kolom E <> 0
if Cells(x, 1).Value = 0 Then 'kondisi dalam poin 1 alias poin 1.>. -> kolom A = 0
wadah = Cells(x, 3).Value " " wadah
baris = Cells(x, 5).Value
lKolomSumber =5
Cells(x, 3).Value = vbnullstring Cells(x, 5).Value = vbnullstring
endif

elseif Cells(x, 4).Value<>0 then "poin 1.5 diperjelas keterangannya -> kolom D <> 0
if Cells(x, 1).Value = 0 Then 'kondisi dalam poin 1 alias poin 1.>. -> kolom A = 0
wadah = Cells(x, 3).Value " " wadah
baris = Cells(x, 4).Value
lKolomSumber =4
Cells(x, 3).Value = vbnullstring Cells(x, 4).Value = vbnullstring
endif

elseif Cells(x, 1).Value <> 0 then ''poin 2 -> kolom E=0 DAN kolom A <> 0
Cells(x, 3).Value = Cells(x, 3).Value " " wadah
wadah = vbnullstring
Cells(x, lKolomSumber ).Value = baris
else ''poin 3 -> kolom E=0 DAN kolom A = 0

wadah = Cells(x, 3).Value " " wadah
Cells(x, 3).Value = vbnullstring
endif

Next x

End Sub

;)

Wassalam,
Kid



Wed May 27, 2015 12:26 am (PDT) . Posted by:

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

Buat saja prosedur baru untuk loop setiap sheet dalam workbook. Di milis
ada banyak. Dipelajari juga mudah sekali.
Dalam loop tersebut, perintahkan untuk mengaktifkan sheet yang sedang di
proses oleh loop. Lalu panggil prosedur yang sudah dibuat tadi.

Jadi nanti akan ada 2 prosedur, Prosedur A untuk loop setiap sheet dan
prosedur nya mas Nang Agus sebagai prosedur B. Prosedur A memanggil
prosedur B.

2015-05-27 17:19 GMT+10:00 Ahmad Syaifullah Lubis syaifullah@hotmail.com
[belajar-excel] <belajar-excel@yahoogroups.com>:

>
>
> Dear Mr Kid,
> Terima kasih, sudah saya ganti nilai baris 7 menjadi 8, dan jalan sudah.
> Hanya mengapa di baris terakhir kata "Total"nya hilang ya?
> satu lagi Mr Kid, tambahin dong macro agar berjalan sampai dengan sheet
> yang terakhir pada workbook yang ada. Sungguh, saya gak sanggup untuk
> menambahkan fungsi yang dapat memproses berulang.
> terima kasih,
> ASL.
>
> ------------------------------
> To: belajar-excel@yahoogroups.com
> From: belajar-excel@yahoogroups.com
> Date: Wed, 27 May 2015 17:06:27 +1000
>
> Subject: Re: [belajar-excel] Menyatukan 2 atau 3 baris menjadi 1 baris data
>
>
>
> Oh berarti baris Saldo di baris 7 ya....
> Kalau gitu for nya jangan sampai 7 atau jangan sampai baris saldo. Sampai
> baris Excel-nya record transaksi pertama saja.
>
> Wassalam,
> Kid
>
>
> 2015-05-27 16:07 GMT+10:00 Ahmad Syaifullah Lubis syaifullah@hotmail.com
> [belajar-excel] <belajar-excel@yahoogroups.com>:
>
>
>
> Mr Kid,
> terima kasih ya Mr Kid, cuman kenapa ya saldo awal muncul angka di kolom
> E, seharusnya kolom D dan E untuk saldo awal kosong. cuman kalau sebelumnya
> saya beri tanda petik (") di kolom D dan E maka waktu diproses macronya
> baru bisa berjalan dengan sempurna.
> Mohon koreksinya Mr Kid.
> terima kasih,
> ASL
>
> ------------------------------
> To: belajar-excel@yahoogroups.com
> From: belajar-excel@yahoogroups.com
> Date: Wed, 27 May 2015 06:07:47 +1000
> Subject: Re: [belajar-excel] Menyatukan 2 atau 3 baris menjadi 1 baris data
>
>
>
> Hai Ahmad,
>
> Kalau dilihat dari previewnya, sepertinya pengen ada tambahan syarat pokok
> kolom D (kolom dikirinya yang kasus lalu, sesuaikan dengan keadaan nyatanya
> bila ada kolom kosong diantaranya yang tak tampak) yang seperti kolom E.
>
> Coba fokus pada blok IF dalam prosedur yang lalu :
> *public *Sub kopi() 'tambahin explicit nya scope ah supaya mudah
> membacanya
> Dim baris As *double*, x As *long*
> Dim wadah As String
> For x = *cells(rows.count,3).end(xlup).row* To 7 Step -1
>
> if Cells(x, 5).Value<>0 then 'poin
> 1 diperjelas keterangannya -> kolom E <> 0
> if Cells(x, 1).Value = 0
> Then 'kondisi dalam poin 1 alias poin
> 1.>. -> kolom A = 0
> wadah = *Cells(x, 3).Value* " " *wadah*
> baris = Cells(x, 5).Value
> Cells(x, 3).Value = *vbnullstring*
> Cells(x, 5).Value =
> *vbnullstring* endif
> elseif Cells(x, 1).Value <> 0 then 'poin
> 2 -> kolom E=0 DAN kolom A <> 0
> Cells(x, 3).Value = *Cells(x, 3).Value* " " *wadah*
> wadah = *vbnullstring*
> Cells(x, 5).Value = baris
>
> else
> 'poin 3 -> kolom E=0 DAN kolom A = 0
> wadah = *Cells(x, 3).Value* " " *wadah*
> Cells(x, 3).Value = *vbnullstring*
> endif
> Next x
> End Sub
>
>
> *Kondisi baru : (poin 1.5)*
> Kolom D memiliki karakteristik seperti kolom E
>
> if Cells(x, 5).Value<>0 then 'poin
> 1 diperjelas keterangannya -> kolom E <> 0
> if Cells(x, 1).Value = 0
> Then 'kondisi dalam poin 1 alias poin
> 1.>. -> kolom A = 0
> wadah = *Cells(x, 3).Value* " " *wadah*
> baris = Cells(x, 5).Value
> Cells(x, 3).Value = *vbnullstring*
> Cells(x, 5).Value =
> *vbnullstring* endif
> elseif Cells(x, 4).Value<>0 then 'poin
> 1.5 diperjelas keterangannya -> kolom D <> 0
> if Cells(x, 1).Value = 0
> Then 'kondisi dalam poin 1 alias poin
> 1.>. -> kolom A = 0
> wadah = *Cells(x, 3).Value* " " *wadah*
> baris = Cells(x, 4).Value
> Cells(x, 3).Value = *vbnullstring*
> Cells(x, 4).Value =
> *vbnullstring* endif
>
> elseif Cells(x, 1).Value <> 0 then 'poin
> 2 -> kolom E=0 DAN kolom A <> 0
> Cells(x, 3).Value = *Cells(x, 3).Value* " " *wadah*
> wadah = *vbnullstring*
> * Cells(x, 5).Value = baris*
>
> else
> 'poin 3 -> kolom E=0 DAN kolom A = 0
> wadah = *Cells(x, 3).Value* " " *wadah*
> Cells(x, 3).Value = *vbnullstring*
> endif
>
> *Sampai disini terjadi masalah berikut :*
> *a.* nilai dalam variabel 'baris&#39; tidak diketahui sumbernya, yaitu dari
> nilai kolom E (akibat mengerjakan poin 1) atau dari kolom D (akibat
> mengerjakan poin 1.5)
>
> *b.* penulisan nilai yang disimpan dalam variabel bernama 'baris&#39; adalah
> ke kolom E saja (*lihat yang merah*)
>
> Solusi untuk masalah untuk kasus :
> a. disediakan sebuah variabel penyimpan nomor kolom sumber nilai yang
> diambil. Jadi tugasnya menyimpan nilai 5 kalau mengambil nilai kolom E
> karena mengerjakan poin 1, atau menyimpan nilai 4 kalau mengambil nilai
> kolom D karena mengerjakan poin 1.5. Maka diblok poin 1 dan blok poin 1.5
> nantinya akan diberi baris kode pengisian nilai 5 atau 4 tersebut.
>
> b. karena proses penulisan menggunakan posisi nomor row dan nomor column
> seperti *Cells(x, 5).Value* yang berarti di cells row ke-x di column 5,
> berarti angka 5 pada baris tersebut bisa diganti dengan variabel penyimpan
> nilai sumber kolom (5 atau 4) yang menjadi solusi poin a diatas tadi.
>
> Proses penerapan solusi :
> 1. butuh sebuah variabel baru penyimpan nilai 5 atau 4
> > butuh deklarasi variabel baru yang datatype untuk numerik bilangan bulat
> saja, bisa byte, integer, atau long
> > misal dipilih datatype Long supaya native dengan bit applikasi office
> yang digunakan yang 32 bit
> > nama variabelnya misal diberi nama lKolomSumber
> > bunyi deklarasinya :
>
> * dim lKolomSumber as long*
> 2. setiap blok poin diberi baris kode untuk set nilai 5 atau 4 sesuai
> kondisi ke variabel baru tersebut
> > blok poin 1 dulu -> berdasar kolom E <> 0
> * poin 1 menggunakan kolom E alias kolom nomor 5 sebagai kondisi
> * berarti nilai variabel lKolomSumber diblok ini harus diisi dengan
> nilai 5
> * prosesnya ditulis tepat setelah mengambil nilai dari kolom E
> * berarti, setelah kode berbunyi :
> baris = Cells(x, 5).Value
> diberi proses pengisian nilai 5 ke variabel lKolomSumber dengan
> bunyi berikut :
> lKolomSumber=5
>
> > blok poin 1.5 -> berdasar kolom D <> 0
> * poin 1 menggunakan kolom D alias kolom nomor 4 sebagai kondisi
> * berarti nilai variabel lKolomSumber diblok ini harus diisi dengan
> nilai 4
> * prosesnya ditulis tepat setelah mengambil nilai dari kolom D
> * berarti, setelah kode berbunyi :
> baris = Cells(x, 4).Value
> diberi proses pengisian nilai 4 ke variabel lKolomSumber dengan
> bunyi berikut :
> lKolomSumber=4
>
> 3. Penulisan isi variabel bernama 'baris&#39; ke suatu cells dilakukan sesuai
> kolom sumbernya
> > kode penulisan nilai yang sudah ada dalam prosedur berbunyi :
> *Cells(x, 5).Value = baris*
> > pada kode di atas, kolom sumbernya ditunjukkan dengan angka *5*
> > berarti bagian angka *5* itulah yang harus diganti dengan variabel
> penyimpan nomor kolom sumbernya (nama variabelnya lKolomSumber kan ya)
> > berarti bunyi kodenya akan menjadi :
> *Cells(x, **lKolomSumber).Value = baris*
>
> Jadi prosedur yang sudah dikembangkan akan menjadi :
>
> *public *Sub kopi() 'tambahin explicit nya scope ah supaya mudah
> membacanya
>
> Dim baris As *double*, x As *long*
> Dim wadah As String
> *dim lKolomSumber as long*
> 'private cop as object 'dumb private object
> For x = *cells(rows.count,3).end(xlup).row* To 7 Step -1
>
> if Cells(x, 5).Value<>0 then
> ''poin 1 diperjelas keterangannya -> kolom E <> 0
> if Cells(x, 1).Value = 0
> Then 'kondisi dalam poin 1 alias poin
> 1.>. -> kolom A = 0
> wadah = *Cells(x, 3).Value* " " *wadah*
> baris = Cells(x, 5).Value
> *lKolomSumber =5*
> Cells(x, 3).Value = *vbnullstring*
> Cells(x, 5).Value =
> *vbnullstring* endif
>
> elseif Cells(x, 4).Value<>0 then "poin
> 1.5 diperjelas keterangannya -> kolom D <> 0
> if Cells(x, 1).Value = 0
> Then 'kondisi dalam poin 1 alias poin
> 1.>. -> kolom A = 0
> wadah = *Cells(x, 3).Value* " " *wadah*
> baris = Cells(x, 4).Value
> *lKolomSumber =4*
> Cells(x, 3).Value = *vbnullstring*
> Cells(x, 4).Value =
> *vbnullstring* endif
>
> elseif Cells(x, 1).Value <> 0 then ''poin
> 2 -> kolom E=0 DAN kolom A <> 0
> Cells(x, 3).Value = *Cells(x, 3).Value* " " *wadah*
> wadah = *vbnullstring*
> * Cells(x, **lKolomSumber ).Value = baris*
>
> else
> ''poin 3 -> kolom E=0 DAN kolom A = 0
> wadah = *Cells(x, 3).Value* " " *wadah*
> Cells(x, 3).Value = *vbnullstring*
> endif
>
> Next x
>
> End Sub
>
>
>
> ;)
>
> Wassalam,
> Kid
>
>
>
>
>
>
>
>
>
>
>
>

Wed May 27, 2015 12:26 am (PDT) . Posted by:

"Ahmad Syaifullah Lubis" syaifullah

Dear Mr Kid,
maaf, ternyata selain kata "Total" yang menghilang, rupanya baris yang berisi "sum" nya juga di Kolom E nya menghilang.
Tetapi kalau sebelum macro dijalankan kata "total" kalau tidak ada, maka fungsi sum di Kolom D dan E tetap ada.
terima kasih,
ASL

From: belajar-excel@yahoogroups.com

To: belajar-excel@yahoogroups.com
Date: Wed, 27 May 2015 07:19:34 +0000
Subject: RE: [belajar-excel] Menyatukan 2 atau 3 baris menjadi 1 baris data

Dear Mr Kid,
Terima kasih, sudah saya ganti nilai baris 7 menjadi 8, dan jalan sudah.
Hanya mengapa di baris terakhir kata "Total"nya hilang ya?
satu lagi Mr Kid, tambahin dong macro agar berjalan sampai dengan sheet yang terakhir pada workbook yang ada. Sungguh, saya gak sanggup untuk menambahkan fungsi yang dapat memproses berulang.
terima kasih,
ASL.

To: belajar-excel@yahoogroups.com
From: belajar-excel@yahoogroups.com
Date: Wed, 27 May 2015 17:06:27 +1000
Subject: Re: [belajar-excel] Menyatukan 2 atau 3 baris menjadi 1 baris data

Oh berarti baris Saldo di baris 7 ya....
Kalau gitu for nya jangan sampai 7 atau jangan sampai baris saldo. Sampai baris Excel-nya record transaksi pertama saja.

Wassalam,
Kid

2015-05-27 16:07 GMT+10:00 Ahmad Syaifullah Lubis syaifullah@hotmail.com [belajar-excel] <belajar-excel@yahoogroups.com>:

Mr Kid,
terima kasih ya Mr Kid, cuman kenapa ya saldo awal muncul angka di kolom E, seharusnya kolom D dan E untuk saldo awal kosong. cuman kalau sebelumnya saya beri tanda petik (") di kolom D dan E maka waktu diproses macronya baru bisa berjalan dengan sempurna.
Mohon koreksinya Mr Kid.
terima kasih,
ASL

To: belajar-excel@yahoogroups.com
From: belajar-excel@yahoogroups.com
Date: Wed, 27 May 2015 06:07:47 +1000
Subject: Re: [belajar-excel] Menyatukan 2 atau 3 baris menjadi 1 baris data

Hai Ahmad,

Kalau dilihat dari previewnya, sepertinya pengen ada tambahan syarat pokok kolom D (kolom dikirinya yang kasus lalu, sesuaikan dengan keadaan nyatanya bila ada kolom kosong diantaranya yang tak tampak) yang seperti kolom E.

Coba fokus pada blok IF dalam prosedur yang lalu :
public Sub kopi() 'tambahin explicit nya scope ah supaya mudah membacanya
Dim baris As double, x As long
Dim wadah As String
For x = cells(rows.count,3).end(xlup).row To 7 Step -1

if Cells(x, 5).Value<>0 then 'poin 1 diperjelas keterangannya -> kolom E <> 0
if Cells(x, 1).Value = 0 Then 'kondisi dalam poin 1 alias poin 1.>. -> kolom A = 0
wadah = Cells(x, 3).Value " " wadah
baris = Cells(x, 5).Value
Cells(x, 3).Value = vbnullstring Cells(x, 5).Value = vbnullstring
endif
elseif Cells(x, 1).Value <> 0 then 'poin 2 -> kolom E=0 DAN kolom A <> 0
Cells(x, 3).Value = Cells(x, 3).Value " " wadah
wadah = vbnullstring
Cells(x, 5).Value = baris
else 'poin 3 -> kolom E=0 DAN kolom A = 0
wadah = Cells(x, 3).Value " " wadah
Cells(x, 3).Value = vbnullstring
endif
Next x
End Sub

Kondisi baru : (poin 1.5)
Kolom D memiliki karakteristik seperti kolom E

if Cells(x, 5).Value<>0 then 'poin 1 diperjelas keterangannya -> kolom E <> 0
if Cells(x, 1).Value = 0 Then 'kondisi dalam poin 1 alias poin 1.>. -> kolom A = 0
wadah = Cells(x, 3).Value " " wadah
baris = Cells(x, 5).Value
Cells(x, 3).Value = vbnullstring Cells(x, 5).Value = vbnullstring
endif
elseif Cells(x, 4).Value<>0 then 'poin 1.5 diperjelas keterangannya -> kolom D <> 0
if Cells(x, 1).Value = 0 Then 'kondisi dalam poin 1 alias poin 1.>. -> kolom A = 0
wadah = Cells(x, 3).Value " " wadah
baris = Cells(x, 4).Value
Cells(x, 3).Value = vbnullstring Cells(x, 4).Value = vbnullstring
endif

elseif Cells(x, 1).Value <> 0 then 'poin 2 -> kolom E=0 DAN kolom A <> 0
Cells(x, 3).Value = Cells(x, 3).Value " " wadah
wadah = vbnullstring
Cells(x, 5).Value = baris
else 'poin 3 -> kolom E=0 DAN kolom A = 0
wadah = Cells(x, 3).Value " " wadah
Cells(x, 3).Value = vbnullstring
endif

Sampai disini terjadi masalah berikut :
a. nilai dalam variabel 'baris&#39; tidak diketahui sumbernya, yaitu dari nilai kolom E (akibat mengerjakan poin 1) atau dari kolom D (akibat mengerjakan poin 1.5)

b. penulisan nilai yang disimpan dalam variabel bernama 'baris&#39; adalah ke kolom E saja (lihat yang merah)

Solusi untuk masalah untuk kasus :
a. disediakan sebuah variabel penyimpan nomor kolom sumber nilai yang diambil. Jadi tugasnya menyimpan nilai 5 kalau mengambil nilai kolom E karena mengerjakan poin 1, atau menyimpan nilai 4 kalau mengambil nilai kolom D karena mengerjakan poin 1.5. Maka diblok poin 1 dan blok poin 1.5 nantinya akan diberi baris kode pengisian nilai 5 atau 4 tersebut.

b. karena proses penulisan menggunakan posisi nomor row dan nomor column seperti Cells(x, 5).Value yang berarti di cells row ke-x di column 5, berarti angka 5 pada baris tersebut bisa diganti dengan variabel penyimpan nilai sumber kolom (5 atau 4) yang menjadi solusi poin a diatas tadi.

Proses penerapan solusi :
1. butuh sebuah variabel baru penyimpan nilai 5 atau 4
> butuh deklarasi variabel baru yang datatype untuk numerik bilangan bulat saja, bisa byte, integer, atau long

> misal dipilih datatype Long supaya native dengan bit applikasi office yang digunakan yang 32 bit
> nama variabelnya misal diberi nama lKolomSumber
> bunyi deklarasinya :
dim lKolomSumber as long

2. setiap blok poin diberi baris kode untuk set nilai 5 atau 4 sesuai kondisi ke variabel baru tersebut
> blok poin 1 dulu -> berdasar kolom E <> 0
* poin 1 menggunakan kolom E alias kolom nomor 5 sebagai kondisi
* berarti nilai variabel lKolomSumber diblok ini harus diisi dengan nilai 5
* prosesnya ditulis tepat setelah mengambil nilai dari kolom E
* berarti, setelah kode berbunyi :
baris = Cells(x, 5).Value
diberi proses pengisian nilai 5 ke variabel lKolomSumber dengan bunyi berikut :
lKolomSumber=5

> blok poin 1.5 -> berdasar kolom D <> 0
* poin 1 menggunakan kolom D alias kolom nomor 4 sebagai kondisi
* berarti nilai variabel lKolomSumber diblok ini harus diisi dengan nilai 4
* prosesnya ditulis tepat setelah mengambil nilai dari kolom D
* berarti, setelah kode berbunyi :
baris = Cells(x, 4).Value
diberi proses pengisian nilai 4 ke variabel lKolomSumber dengan bunyi berikut :
lKolomSumber=4

3. Penulisan isi variabel bernama 'baris&#39; ke suatu cells dilakukan sesuai kolom sumbernya
> kode penulisan nilai yang sudah ada dalam prosedur berbunyi :
Cells(x, 5).Value = baris> pada kode di atas, kolom sumbernya ditunjukkan dengan angka 5
> berarti bagian angka 5 itulah yang harus diganti dengan variabel penyimpan nomor kolom sumbernya (nama variabelnya lKolomSumber kan ya)
> berarti bunyi kodenya akan menjadi :
Cells(x, lKolomSumber).Value = baris

Jadi prosedur yang sudah dikembangkan akan menjadi :

public Sub kopi() 'tambahin explicit nya scope ah supaya mudah membacanya

Dim baris As double, x As long
Dim wadah As String
dim lKolomSumber as long
'private cop as object 'dumb private object
For x = cells(rows.count,3).end(xlup).row To 7 Step -1

if Cells(x, 5).Value<>0 then ''poin 1 diperjelas keterangannya -> kolom E <> 0
if Cells(x, 1).Value = 0 Then 'kondisi dalam poin 1 alias poin 1.>. -> kolom A = 0
wadah = Cells(x, 3).Value " " wadah
baris = Cells(x, 5).Value
lKolomSumber =5
Cells(x, 3).Value = vbnullstring Cells(x, 5).Value = vbnullstring
endif

elseif Cells(x, 4).Value<>0 then "poin 1.5 diperjelas keterangannya -> kolom D <> 0
if Cells(x, 1).Value = 0 Then 'kondisi dalam poin 1 alias poin 1.>. -> kolom A = 0
wadah = Cells(x, 3).Value " " wadah
baris = Cells(x, 4).Value
lKolomSumber =4
Cells(x, 3).Value = vbnullstring Cells(x, 4).Value = vbnullstring
endif

elseif Cells(x, 1).Value <> 0 then ''poin 2 -> kolom E=0 DAN kolom A <> 0
Cells(x, 3).Value = Cells(x, 3).Value " " wadah
wadah = vbnullstring
Cells(x, lKolomSumber ).Value = baris
else ''poin 3 -> kolom E=0 DAN kolom A = 0
wadah = Cells(x, 3).Value " " wadah
Cells(x, 3).Value = vbnullstring
endif

Next x

End Sub

;)

Wassalam,
Kid





Wed May 27, 2015 12:31 am (PDT) . Posted by:

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

Anda atur saja deh ya...

Untuk melacak kenapanya, ikuti cara kerja script ini :
*cells(rows.count,3).end(xlup).row*

Di kolom C, ke baris terakhir Excel (baris 1 juta sekian), lalu CTRL panah
atas supaya tahu berhentinya dimana. Itu dia penyebabnya.
Solusinya bagaimana ?
Kosongkan seluruh isi kolom C setelah record terakhir data, atau Anda cari
di arsip lawas milis maupun di blog milis tentang cara menentukan baris
terakhir record data. Terapkan ke baris kode tersebut supaya bisa didapat
baris Excel yang tepat untuk memulai loop.

2015-05-27 17:26 GMT+10:00 Ahmad Syaifullah Lubis syaifullah@hotmail.com
[belajar-excel] <belajar-excel@yahoogroups.com>:

>
>
> Dear Mr Kid,
> maaf, ternyata selain kata "Total" yang menghilang, rupanya baris yang
> berisi "sum" nya juga di Kolom E nya menghilang.
> Tetapi kalau sebelum macro dijalankan kata "total" kalau tidak ada, maka
> fungsi sum di Kolom D dan E tetap ada.
> terima kasih,
> ASL
>
> ------------------------------
> From: belajar-excel@yahoogroups.com
> To: belajar-excel@yahoogroups.com
> Date: Wed, 27 May 2015 07:19:34 +0000
> Subject: RE: [belajar-excel] Menyatukan 2 atau 3 baris menjadi 1 baris data
>
>
>
>
> Dear Mr Kid,
> Terima kasih, sudah saya ganti nilai baris 7 menjadi 8, dan jalan sudah.
> Hanya mengapa di baris terakhir kata "Total"nya hilang ya?
> satu lagi Mr Kid, tambahin dong macro agar berjalan sampai dengan sheet
> yang terakhir pada workbook yang ada. Sungguh, saya gak sanggup untuk
> menambahkan fungsi yang dapat memproses berulang.
> terima kasih,
> ASL.
>
> ------------------------------
> To: belajar-excel@yahoogroups.com
> From: belajar-excel@yahoogroups.com
> Date: Wed, 27 May 2015 17:06:27 +1000
> Subject: Re: [belajar-excel] Menyatukan 2 atau 3 baris menjadi 1 baris data
>
>
>
> Oh berarti baris Saldo di baris 7 ya....
> Kalau gitu for nya jangan sampai 7 atau jangan sampai baris saldo. Sampai
> baris Excel-nya record transaksi pertama saja.
>
> Wassalam,
> Kid
>
>
> 2015-05-27 16:07 GMT+10:00 Ahmad Syaifullah Lubis syaifullah@hotmail.com
> [belajar-excel] <belajar-excel@yahoogroups.com>:
>
>
>
> Mr Kid,
> terima kasih ya Mr Kid, cuman kenapa ya saldo awal muncul angka di kolom
> E, seharusnya kolom D dan E untuk saldo awal kosong. cuman kalau sebelumnya
> saya beri tanda petik (") di kolom D dan E maka waktu diproses macronya
> baru bisa berjalan dengan sempurna.
> Mohon koreksinya Mr Kid.
> terima kasih,
> ASL
>
> ------------------------------
> To: belajar-excel@yahoogroups.com
> From: belajar-excel@yahoogroups.com
> Date: Wed, 27 May 2015 06:07:47 +1000
> Subject: Re: [belajar-excel] Menyatukan 2 atau 3 baris menjadi 1 baris data
>
>
>
> Hai Ahmad,
>
> Kalau dilihat dari previewnya, sepertinya pengen ada tambahan syarat pokok
> kolom D (kolom dikirinya yang kasus lalu, sesuaikan dengan keadaan nyatanya
> bila ada kolom kosong diantaranya yang tak tampak) yang seperti kolom E.
>
> Coba fokus pada blok IF dalam prosedur yang lalu :
> *public *Sub kopi() 'tambahin explicit nya scope ah supaya mudah
> membacanya
> Dim baris As *double*, x As *long*
> Dim wadah As String
> For x = *cells(rows.count,3).end(xlup).row* To 7 Step -1
>
> if Cells(x, 5).Value<>0 then 'poin
> 1 diperjelas keterangannya -> kolom E <> 0
> if Cells(x, 1).Value = 0
> Then 'kondisi dalam poin 1 alias poin
> 1.>. -> kolom A = 0
> wadah = *Cells(x, 3).Value* " " *wadah*
> baris = Cells(x, 5).Value
> Cells(x, 3).Value = *vbnullstring*
> Cells(x, 5).Value =
> *vbnullstring* endif
> elseif Cells(x, 1).Value <> 0 then 'poin
> 2 -> kolom E=0 DAN kolom A <> 0
> Cells(x, 3).Value = *Cells(x, 3).Value* " " *wadah*
> wadah = *vbnullstring*
> Cells(x, 5).Value = baris
>
> else
> 'poin 3 -> kolom E=0 DAN kolom A = 0
> wadah = *Cells(x, 3).Value* " " *wadah*
> Cells(x, 3).Value = *vbnullstring*
> endif
> Next x
> End Sub
>
>
> *Kondisi baru : (poin 1.5)*
> Kolom D memiliki karakteristik seperti kolom E
>
> if Cells(x, 5).Value<>0 then 'poin
> 1 diperjelas keterangannya -> kolom E <> 0
> if Cells(x, 1).Value = 0
> Then 'kondisi dalam poin 1 alias poin
> 1.>. -> kolom A = 0
> wadah = *Cells(x, 3).Value* " " *wadah*
> baris = Cells(x, 5).Value
> Cells(x, 3).Value = *vbnullstring*
> Cells(x, 5).Value =
> *vbnullstring* endif
> elseif Cells(x, 4).Value<>0 then 'poin
> 1.5 diperjelas keterangannya -> kolom D <> 0
> if Cells(x, 1).Value = 0
> Then 'kondisi dalam poin 1 alias poin
> 1.>. -> kolom A = 0
> wadah = *Cells(x, 3).Value* " " *wadah*
> baris = Cells(x, 4).Value
> Cells(x, 3).Value = *vbnullstring*
> Cells(x, 4).Value =
> *vbnullstring* endif
>
> elseif Cells(x, 1).Value <> 0 then 'poin
> 2 -> kolom E=0 DAN kolom A <> 0
> Cells(x, 3).Value = *Cells(x, 3).Value* " " *wadah*
> wadah = *vbnullstring*
> * Cells(x, 5).Value = baris*
>
> else
> 'poin 3 -> kolom E=0 DAN kolom A = 0
> wadah = *Cells(x, 3).Value* " " *wadah*
> Cells(x, 3).Value = *vbnullstring*
> endif
>
> *Sampai disini terjadi masalah berikut :*
> *a.* nilai dalam variabel 'baris&#39; tidak diketahui sumbernya, yaitu dari
> nilai kolom E (akibat mengerjakan poin 1) atau dari kolom D (akibat
> mengerjakan poin 1.5)
>
> *b.* penulisan nilai yang disimpan dalam variabel bernama 'baris&#39; adalah
> ke kolom E saja (*lihat yang merah*)
>
> Solusi untuk masalah untuk kasus :
> a. disediakan sebuah variabel penyimpan nomor kolom sumber nilai yang
> diambil. Jadi tugasnya menyimpan nilai 5 kalau mengambil nilai kolom E
> karena mengerjakan poin 1, atau menyimpan nilai 4 kalau mengambil nilai
> kolom D karena mengerjakan poin 1.5. Maka diblok poin 1 dan blok poin 1.5
> nantinya akan diberi baris kode pengisian nilai 5 atau 4 tersebut.
>
> b. karena proses penulisan menggunakan posisi nomor row dan nomor column
> seperti *Cells(x, 5).Value* yang berarti di cells row ke-x di column 5,
> berarti angka 5 pada baris tersebut bisa diganti dengan variabel penyimpan
> nilai sumber kolom (5 atau 4) yang menjadi solusi poin a diatas tadi.
>
> Proses penerapan solusi :
> 1. butuh sebuah variabel baru penyimpan nilai 5 atau 4
> > butuh deklarasi variabel baru yang datatype untuk numerik bilangan bulat
> saja, bisa byte, integer, atau long
> > misal dipilih datatype Long supaya native dengan bit applikasi office
> yang digunakan yang 32 bit
> > nama variabelnya misal diberi nama lKolomSumber
> > bunyi deklarasinya :
>
> * dim lKolomSumber as long*
> 2. setiap blok poin diberi baris kode untuk set nilai 5 atau 4 sesuai
> kondisi ke variabel baru tersebut
> > blok poin 1 dulu -> berdasar kolom E <> 0
> * poin 1 menggunakan kolom E alias kolom nomor 5 sebagai kondisi
> * berarti nilai variabel lKolomSumber diblok ini harus diisi dengan
> nilai 5
> * prosesnya ditulis tepat setelah mengambil nilai dari kolom E
> * berarti, setelah kode berbunyi :
> baris = Cells(x, 5).Value
> diberi proses pengisian nilai 5 ke variabel lKolomSumber dengan
> bunyi berikut :
> lKolomSumber=5
>
> > blok poin 1.5 -> berdasar kolom D <> 0
> * poin 1 menggunakan kolom D alias kolom nomor 4 sebagai kondisi
> * berarti nilai variabel lKolomSumber diblok ini harus diisi dengan
> nilai 4
> * prosesnya ditulis tepat setelah mengambil nilai dari kolom D
> * berarti, setelah kode berbunyi :
> baris = Cells(x, 4).Value
> diberi proses pengisian nilai 4 ke variabel lKolomSumber dengan
> bunyi berikut :
> lKolomSumber=4
>
> 3. Penulisan isi variabel bernama 'baris&#39; ke suatu cells dilakukan sesuai
> kolom sumbernya
> > kode penulisan nilai yang sudah ada dalam prosedur berbunyi :
> *Cells(x, 5).Value = baris*
> > pada kode di atas, kolom sumbernya ditunjukkan dengan angka *5*
> > berarti bagian angka *5* itulah yang harus diganti dengan variabel
> penyimpan nomor kolom sumbernya (nama variabelnya lKolomSumber kan ya)
> > berarti bunyi kodenya akan menjadi :
> *Cells(x, **lKolomSumber).Value = baris*
>
> Jadi prosedur yang sudah dikembangkan akan menjadi :
>
> *public *Sub kopi() 'tambahin explicit nya scope ah supaya mudah
> membacanya
>
> Dim baris As *double*, x As *long*
> Dim wadah As String
> *dim lKolomSumber as long*
> 'private cop as object 'dumb private object
> For x = *cells(rows.count,3).end(xlup).row* To 7 Step -1
>
> if Cells(x, 5).Value<>0 then
> ''poin 1 diperjelas keterangannya -> kolom E <> 0
> if Cells(x, 1).Value = 0
> Then 'kondisi dalam poin 1 alias poin
> 1.>. -> kolom A = 0
> wadah = *Cells(x, 3).Value* " " *wadah*
> baris = Cells(x, 5).Value
> *lKolomSumber =5*
> Cells(x, 3).Value = *vbnullstring*
> Cells(x, 5).Value =
> *vbnullstring* endif
>
> elseif Cells(x, 4).Value<>0 then "poin
> 1.5 diperjelas keterangannya -> kolom D <> 0
> if Cells(x, 1).Value = 0
> Then 'kondisi dalam poin 1 alias poin
> 1.>. -> kolom A = 0
> wadah = *Cells(x, 3).Value* " " *wadah*
> baris = Cells(x, 4).Value
> *lKolomSumber =4*
> Cells(x, 3).Value = *vbnullstring*
> Cells(x, 4).Value =
> *vbnullstring* endif
>
> elseif Cells(x, 1).Value <> 0 then ''poin
> 2 -> kolom E=0 DAN kolom A <> 0
> Cells(x, 3).Value = *Cells(x, 3).Value* " " *wadah*
> wadah = *vbnullstring*
> * Cells(x, **lKolomSumber ).Value = baris*
>
> else
> ''poin 3 -> kolom E=0 DAN kolom A = 0
> wadah = *Cells(x, 3).Value* " " *wadah*
> Cells(x, 3).Value = *vbnullstring*
> endif
>
> Next x
>
> End Sub
>
>
>
> ;)
>
> Wassalam,
> Kid
>
>
>
>
>
>
>
>
>
>
>
>
>

Tue May 26, 2015 2:33 pm (PDT) . Posted by:

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

hmmm... trit ini sudah lama sekali....
tampaknya BeExceller banyak yang enggan mencoba

Tentang : 1 dan 2 (sekalian)

> 1. Pada cell u5:v16 saya menggunakan formula biasa, apakah ada cara
>
> yang lebih baik dari cara saya ini? (*sheet data*)
>
> 2. Pada cell b4:e10 saya menggunakan formula sumif, apakah ada
>
> cara yang lebih baik dari cara saya ini? (*sheet summary*)
>

>> Dengan data yang disusun demikian (susunan yang berbentuk output dan
bukan sebagai tabel sumber data yang sederhana), formula tersebut sudah
efisien. Andai di sheet ke-1 (katanya bernama *data*) kolom Total Fuel
berisi sum dari semua kolom data yang Fuel saja, berarti bisa menggunakan
SumIF bila di kolom tersebut belum menggunakan SumIF

Tentang : 3

> 3. Bagaimana cara membuat file ini dengan menggunakan
>
> macro seperti pada sheet data sudah disiapkan icon input
>
> HM/KM dan Fuel.
>

>> Bagaimana jika susunan tabel data dasarnya diubah agar menjadi vertikal.
Isi kolomnya :
a. Cost Center
b. Dept / Section
c. Control Number
d. Classification
e. satuan (yang isinya nanti teks HM atau KM)
f. angka (isinya 1,2,3,4,dst itu angka apa entahlah)
g. HM_KM (isinya nilai numerik tentang HM_KM tersebut kali ya)
h. Fuel (isinya nilai numerik tentang Fuel)
i. mungkin butuh sebuah id record yang unique berdasar kolom a sampai e
j. mungkin butuh nilai selisih antar record kolom f berdasar kolom a sampai
e

Kemudian dibuat juga 2 tabel referensi, yaitu :
1. tabel referensi berisi unique records tentang isian untuk kolom a dan b
tabel dasar di atas (minimal 2 kolom)
2. tabel referensi berisi unique records tentang isian untuk kolom c dan d
tabel dasar di atas (minimal 2 kolom)

Setelah itu, baru Anda buat form inputnya. Bisa dengan worksheet berisi
data validation dan sebagainya, bisa juga dengan userform yang disertai
belajar VBA di blog milis, dan lain-lain.

fyi,
Tampilan seperti di sheet pertama (katanya bernama ) dan sheet kedua
(katanya bernama *summary*) bisa disusun dari tabel dasar di atas dengan
mudah dengan berbagai cara, antara lain :
a. pivot table
b. formula
c. otomasi dengan VBA terhadap a dan b (kadang kala bisa dengan record
macro) maupun akan disusun dengan *kode VBA seluruhnya* ( lebih baik
mempelajari VBA dulu)

Wassalam,
Kid

On Mon, May 11, 2015 at 12:16 PM, Samsudin samsudin@bayan.com.sg
[belajar-excel] <belajar-excel@yahoogroups.com> wrote:

>
>
> Dear All Master Excel,
>
>
>
> Mohon bantuan dan pencerahannya terhadap kasus seperti saya ini. File
> terlampir.
>
>
>
> Atas pencerahannya diucapkan terima kasih.
>
>
>
> *Hormat saya,*
>
> *Samsudin*
>
>
>
> ----------------------------------------------------------
>
>
> This message (including any attachments) contains confidential information intended
> for a specific individual and purpose, and is protected by law. If you are not the
> intended recipient, you should delete this message and hereby notified that any
>
> disclosure, copying, or distribution of this message (or any part thereof), or the
> taking of any action based on it, is strictly prohibited. No liability or responsibility
> is accepted if information or data is, for whatever reason corrupted or does not reach
> its intended recipient. No warranty is given that this email is free of viruses. The
> views expressed in this email are, unless otherwise stated, those of the author and
> not those of the Company or its management. The Company reserves the right to monitor,
> intercept and block emails addressed to its users or take any other action in accordance
> with its email use policy.
>
>
>

Tue May 26, 2015 3:33 pm (PDT) . Posted by:

"Samsudin"

Dear Mr. Kid,

Terima kasih atas penverahannya dan dapat diinformasi baris atas yang berisi angka 1 s/d 31 adalah tanggal.

Hormat saya,
Samsudin
+628115427227 / +628112810068

Powered by Telkomsel BlackBerry®
________________________________
From: "'Mr. Kid' mr.nmkid@gmail.com [belajar-excel]" <belajar-excel@yahoogroups.com>
Date: Wed, 27 May 2015 04:28:11 +0700
To: BeExcel<belajar-excel@yahoogroups.com>
ReplyTo: "belajar-excel@yahoogroups.com" <belajar-excel@yahoogroups.com>
Subject: Re: [belajar-excel] Form Input



hmmm... trit ini sudah lama sekali....
tampaknya BeExceller banyak yang enggan mencoba

Tentang : 1 dan 2 (sekalian)
1. Pada cell u5:v16 saya menggunakan formula biasa, apakah ada cara

yang lebih baik dari cara saya ini? (sheet data)

2. Pada cell b4:e10 saya menggunakan formula sumif, apakah ada

cara yang lebih baik dari cara saya ini? (sheet summary)


>> Dengan data yang disusun demikian (susunan yang berbentuk output dan bukan sebagai tabel sumber data yang sederhana), formula tersebut sudah efisien. Andai di sheet ke-1 (katanya bernama data) kolom Total Fuel berisi sum dari semua kolom data yang Fuel saja, berarti bisa menggunakan SumIF bila di kolom tersebut belum menggunakan SumIF


Tentang : 3
3. Bagaimana cara membuat file ini dengan menggunakan

macro seperti pada sheet data sudah disiapkan icon input

HM/KM dan Fuel.

>> Bagaimana jika susunan tabel data dasarnya diubah agar menjadi vertikal. Isi kolomnya :
a. Cost Center
b. Dept / Section
c. Control Number
d. Classification
e. satuan (yang isinya nanti teks HM atau KM)
f. angka (isinya 1,2,3,4,dst itu angka apa entahlah)
g. HM_KM (isinya nilai numerik tentang HM_KM tersebut kali ya)
h. Fuel (isinya nilai numerik tentang Fuel)
i. mungkin butuh sebuah id record yang unique berdasar kolom a sampai e
j. mungkin butuh nilai selisih antar record kolom f berdasar kolom a sampai e

Kemudian dibuat juga 2 tabel referensi, yaitu :
1. tabel referensi berisi unique records tentang isian untuk kolom a dan b tabel dasar di atas (minimal 2 kolom)
2. tabel referensi berisi unique records tentang isian untuk kolom c dan d tabel dasar di atas (minimal 2 kolom)

Setelah itu, baru Anda buat form inputnya. Bisa dengan worksheet berisi data validation dan sebagainya, bisa juga dengan userform yang disertai belajar VBA di blog milis, dan lain-lain.

fyi,
Tampilan seperti di sheet pertama (katanya bernama ) dan sheet kedua (katanya bernama summary) bisa disusun dari tabel dasar di atas dengan mudah dengan berbagai cara, antara lain :
a. pivot table
b. formula
c. otomasi dengan VBA terhadap a dan b (kadang kala bisa dengan record macro) maupun akan disusun dengan kode VBA seluruhnya ( lebih baik mempelajari VBA dulu)



Wassalam,
Kid





On Mon, May 11, 2015 at 12:16 PM, Samsudin samsudin@bayan.com.sg<mailto:samsudin@bayan.com.sg> [belajar-excel] <belajar-excel@yahoogroups.com<mailto:belajar-excel@yahoogroups.com>> wrote:

Dear All Master Excel,

Mohon bantuan dan pencerahannya terhadap kasus seperti saya ini. File terlampir.

Atas pencerahannya diucapkan terima kasih.

Hormat saya,
Samsudin


----------------------------------------------------------


This message (including any attachments) contains confidential information intended
for a specific individual and purpose, and is protected by law. If you are not the
intended recipient, you should delete this message and hereby notified that any

disclosure, copying, or distribution of this message (or any part thereof), or the
taking of any action based on it, is strictly prohibited. No liability or responsibility
is accepted if information or data is, for whatever reason corrupted or does not reach
its intended recipient. No warranty is given that this email is free of viruses. The
views expressed in this email are, unless otherwise stated, those of the author and
not those of the Company or its management. The Company reserves the right to monitor,
intercept and block emails addressed to its users or take any other action in accordance
with its email use policy.





----------------------------------------------------------

This message (including any attachments) contains confidential information intended
for a specific individual and purpose, and is protected by law. If you are not the
intended recipient, you should delete this message and hereby notified that any
disclosure, copying, or distribution of this message (or any part thereof), or the
taking of any action based on it, is strictly prohibited. No liability or responsibility
is accepted if information or data is, for whatever reason corrupted or does not reach
its intended recipient. No warranty is given that this email is free of viruses. The
views expressed in this email are, unless otherwise stated, those of the author and
not those of the Company or its management. The Company reserves the right to monitor,
intercept and block emails addressed to its users or take any other action in accordance
with its email use policy.

Tue May 26, 2015 3:36 pm (PDT) . Posted by:

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

Oh kalau begitu yang f bisa berupa kolom tanggal. Bisa jadi nanti sekalian
kolom k untuk bulan (dari kolom tanggal tapi di set selalu tanggal 1 bulan
tertentu), dan kolom L untuk minggu (misalnya) yang disusun berdasar kolom
tanggal juga jika definisi batas bawah dan atas minggu juga jelas, karena
dalam 1 bulan bisa berisi 5 minggu bila mengikuti hari senin sam[ai minggu.

Wassalam,
Kid

2015-05-27 7:57 GMT+10:00 Samsudin samsudin@bayan.com.sg [belajar-excel] <
belajar-excel@yahoogroups.com>:

>
>
> Dear Mr. Kid,
>
> Terima kasih atas penverahannya dan dapat diinformasi baris atas yang
> berisi angka 1 s/d 31 adalah tanggal.
>
> Hormat saya,
> Samsudin
> +628115427227 / +628112810068
>
> Powered by Telkomsel BlackBerry®
> ------------------------------
> *From: * "'Mr. Kid' mr.nmkid@gmail.com [belajar-excel]" <
> belajar-excel@yahoogroups.com>
> *Date: *Wed, 27 May 2015 04:28:11 +0700
> *To: *BeExcel<belajar-excel@yahoogroups.com>
> *ReplyTo: * "belajar-excel@yahoogroups.com" <belajar-excel@yahoogroups.com>
>
> *Subject: *Re: [belajar-excel] Form Input
>
>
>
> hmmm... trit ini sudah lama sekali....
> tampaknya BeExceller banyak yang enggan mencoba
>
> Tentang : 1 dan 2 (sekalian)
>
>> 1. Pada cell u5:v16 saya menggunakan formula biasa, apakah ada cara
>>
>> yang lebih baik dari cara saya ini? (*sheet data*)
>>
>> 2. Pada cell b4:e10 saya menggunakan formula sumif, apakah ada
>>
>> cara yang lebih baik dari cara saya ini? (*sheet summary*)
>>
>
>
> >> Dengan data yang disusun demikian (susunan yang berbentuk output dan
> bukan sebagai tabel sumber data yang sederhana), formula tersebut sudah
> efisien. Andai di sheet ke-1 (katanya bernama *data*) kolom Total Fuel
> berisi sum dari semua kolom data yang Fuel saja, berarti bisa menggunakan
> SumIF bila di kolom tersebut belum menggunakan SumIF
>
>
> Tentang : 3
>
>> 3. Bagaimana cara membuat file ini dengan menggunakan
>>
>> macro seperti pada sheet data sudah disiapkan icon input
>>
>> HM/KM dan Fuel.
>>
>
> >> Bagaimana jika susunan tabel data dasarnya diubah agar menjadi
> vertikal. Isi kolomnya :
> a. Cost Center
> b. Dept / Section
> c. Control Number
> d. Classification
> e. satuan (yang isinya nanti teks HM atau KM)
> f. angka (isinya 1,2,3,4,dst itu angka apa entahlah)
> g. HM_KM (isinya nilai numerik tentang HM_KM tersebut kali ya)
> h. Fuel (isinya nilai numerik tentang Fuel)
> i. mungkin butuh sebuah id record yang unique berdasar kolom a sampai e
> j. mungkin butuh nilai selisih antar record kolom f berdasar kolom a
> sampai e
>
> Kemudian dibuat juga 2 tabel referensi, yaitu :
> 1. tabel referensi berisi unique records tentang isian untuk kolom a dan b
> tabel dasar di atas (minimal 2 kolom)
> 2. tabel referensi berisi unique records tentang isian untuk kolom c dan d
> tabel dasar di atas (minimal 2 kolom)
>
> Setelah itu, baru Anda buat form inputnya. Bisa dengan worksheet berisi
> data validation dan sebagainya, bisa juga dengan userform yang disertai
> belajar VBA di blog milis, dan lain-lain.
>
> fyi,
> Tampilan seperti di sheet pertama (katanya bernama ) dan sheet kedua
> (katanya bernama *summary*) bisa disusun dari tabel dasar di atas dengan
> mudah dengan berbagai cara, antara lain :
> a. pivot table
> b. formula
> c. otomasi dengan VBA terhadap a dan b (kadang kala bisa dengan record
> macro) maupun akan disusun dengan *kode VBA seluruhnya* ( lebih baik
> mempelajari VBA dulu)
>
>
>
> Wassalam,
> Kid
>
>
>
>
>
> On Mon, May 11, 2015 at 12:16 PM, Samsudin samsudin@bayan.com.sg
> [belajar-excel] <belajar-excel@yahoogroups.com> wrote:
>
>>
>>
>> Dear All Master Excel,
>>
>>
>>
>> Mohon bantuan dan pencerahannya terhadap kasus seperti saya ini. File
>> terlampir.
>>
>>
>>
>> Atas pencerahannya diucapkan terima kasih.
>>
>>
>>
>> *Hormat saya,*
>>
>> *Samsudin*
>>
>>
>>
>> ----------------------------------------------------------
>>
>>
>> This message (including any attachments) contains confidential information intended
>> for a specific individual and purpose, and is protected by law. If you are not the
>> intended recipient, you should delete this message and hereby notified that any
>>
>> disclosure, copying, or distribution of this message (or any part thereof), or the
>> taking of any action based on it, is strictly prohibited. No liability or responsibility
>> is accepted if information or data is, for whatever reason corrupted or does not reach
>> its intended recipient. No warranty is given that this email is free of viruses. The
>> views expressed in this email are, unless otherwise stated, those of the author and
>> not those of the Company or its management. The Company reserves the right to monitor,
>> intercept and block emails addressed to its users or take any other action in accordance
>> with its email use policy.
>>
>>
> ----------------------------------------------------------
>
> This message (including any attachments) contains confidential information intended
> for a specific individual and purpose, and is protected by law. If you are not the
> intended recipient, you should delete this message and hereby notified that any
> disclosure, copying, or distribution of this message (or any part thereof), or the
> taking of any action based on it, is strictly prohibited. No liability or responsibility
> is accepted if information or data is, for whatever reason corrupted or does not reach
> its intended recipient. No warranty is given that this email is free of viruses. The
> views expressed in this email are, unless otherwise stated, those of the author and
> not those of the Company or its management. The Company reserves the right to monitor,
> intercept and block emails addressed to its users or take any other action in accordance
> with its email use policy.
>
>
>

Tue May 26, 2015 9:33 pm (PDT) . Posted by:

"Subroto, Matzen"

Dear pakar Excel,

Mohon bantuannya giman cara meng copy array formula

Terima kasih atas perhatian dan kerjasamanya, dan saya mohon maaf apabila ada kata-kata yang kurang berkenan


Terima Kasih

Matzen



Wed May 27, 2015 1:37 am (PDT) . Posted by:

"Haris Rifai" haris.rifai

Dear Master Excel.
Assalamu'alaikum wr wb.
Langsung saja nih Master.Saya telah membuat Listbox dalam sebuah Userform, tapi data dalam listbox hanya disorot  pointer/kursor saat data tersebut saya klik.
Mohon arahan dari Master sekalian, setup/perintah apa yang mesti saya tambahkan agar pointer dapat bergerak menyorot data dalam listbox dengan mengikuti pergerakan mouse.
Berikut saya lampirkan file ntuk memperjelas yang saya inginkan.
Wassalam.Haris

Wed May 27, 2015 2:03 am (PDT) . Posted by:

"Subroto, Matzen"

Dear Mr. Excell

Gimana caranya hanya memunculkan cell yang kita butuhkan seperti di bawah ini.

[cid:image001.jpg@01D09896.42F51A20]

Terima kasih atas perhatian dan kerjasamanya, dan saya mohon maaf apabila ada kata-kata yang kurang berkenan

Terima Kasih

Matzen

============================================================
Pojok Lowongan Kerja yang disediakan milis :
http://milis-belajar-excel.1048464.n5.nabble.com/Pojok-Lowongan-Kerja-f5725753.html
*** Posting lowongan kerja : ke link tersebut dan klik New Topic
============================================================
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