Sabtu, 16 Maret 2013

[belajar-excel] Digest Number 2161

11 New Messages

Digest #2161
1a
Re: Beri Nama Unik tapi cell di bawahnya hilang by "Mr. Kid" nmkid.family@ymail.com
2a
Re: Copy Paste WB yang di Password by "Indra" indra_gustian
3a
mohon bantuan untuk soal ini by "Hendri" hendri207
3b
Re: mohon bantuan untuk soal ini by "Mr. Kid" nmkid.family@ymail.com
4b
Re: Fungsi if multi kondisi dan alternatifnya by "Mr. Kid" nmkid.family@ymail.com
5a
Membuang Jam dari Tanggal by "aidil alif" aidil_alif
5b
Re: Membuang Jam dari Tanggal by "Mr. Kid" nmkid.family@ymail.com
6a
6b
Re: select bulan cel lainpun berubah dalam setahun by "Mr. Kid" nmkid.family@ymail.com
7
Modul VBA Pembukuan by "dhen.baguse" bagusejogja

Messages

Fri Mar 15, 2013 6:48 am (PDT) . Posted by:

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

Pak Tio,

*** jangan sampai lupa lagi ya, batas maksimum file lampiran adalah 250KB
(contoh data) ***

Hal yang disebut bermasalah tersebut disebabkan ndak fokusnya Bapak
terhadap setiap area data.
Area hasil kerja advanced filter menabrak area data yang ada di sheet itu
juga.

Sepertinya masih agak sulit ya membayangkan penggunaan object.
Begini saja, anggap saja sheet bernama Time_Sheet_Data adalah sebuah
bangunan gudang dokumen milik perusahaan yang didalamnya ada banyak rak
dokumen.
Kali ini, Anda sudah tahu persis area rak dokumen yang akan diminta oleh
pihak manajemen, yaitu rak dokumen pegawai saja.
Pihak manajemen hanya ingin daftar nama setiap pegawai. Daftar ini bisa
didapat dengan menyusun unique dokumen pegawai.
Pihak manjemen ingin daftar nama pegawai itu diletakkan di ruang manajemen
(misal ruangnya adalah sheet OverTime)

Kira-kira, untuk menyusun daftar nama pegawai dan meletakkannya di ruang
manajemen akan Anda lakukan bagaimana ?
1. apakah membawa semua dokumen pegawai dari gudang dokumen ke ruang
manajemen lalu menyortirnya diruang manajemen ?
2. apakah Anda akan ke gudang dokumen dan menyortirnya sendiri disana lalu
membawanya ke ruang manajemen ?
3. apakah Anda akan mengirim orang ke gudang dokumen untuk melakukan
penyortiran dan hasil sortirnya Anda minta untuk diantar ke ruang manajemen
?

Kalau saya, lebih suka yang nomor 3.
Kalau pilih nomor 3, berarti harus ada :
1. gudang dokumen -> hehehe sudah ada, namanya Time_Sheet_Data
2. rak dokumen pegawai di gudang dokumen -> wauw sudah ada juga, yaitu
range bernama RangeTimeSheetBuatOvertime *di kolom pertamanya saja*
3. ruang manajemen -> juga sudah ada tuh, bernama Over_Time
4. meja untuk meletakkan hasil -> Anda memilih meja dengan sebutan
Cells(15, 4)
5. *memastikan mejanya bisa memuat semua hasil* -> kalau gitu meja
dengan *sebutan
Cells(15, 4) di perbesar* (gandeng dengan meja lain dsb)
6. petugas yang ditugasi menyortir di gudang dokumen rak dokumen pegawai ->
untung ada pegawai nganggur bernama AdvancedFilter
7. menunggu di ruang manajemen -> duduk manis di sheet Over time sambil
nyeruput kopi (wuenake leyeh leyeh dalam kesibukan)

Kalau begitu, kita mulai setiap langkahnya.
1. nomor 1 dan 2 harus menjadi sebuah informasi terpadu untuk si petugas
(nomor 6). Untuk ini, disiapkanlah papan gambar peta ke rak dokumen pegawai.
dim rngDokumen as range
set
rngDokumen=sheets("Time_Sheet_Data").range("RangeTimeSheetBuatOvertime")*
.resize(,1)*

2. nomor 3,4, dan 5 harus menjadi sebuah informasi terpadu untuk si petugas
(nomor 6) supaya ndak salah alamat dalam mengantarkan hasil
dim rngHasil as range
set rngHasil=sheets("Over_time").cells(15,4)*.resize(
rngdokumen.rows.count )*

3. memanggil si petugas (nomor 6) dan memberinya order, dengan bunyi order
sebagai berikut :
"di gudang dokumen pada rak dokumen pegawai saja (rngDokumen), kamu
(petugas) lakukan sortir dan *susun yang unique*, dicatat daftarnya, dan
antar salinan daftar catatanmu (hai petugas) ke sini dan letakkan di meja
itu (rngHasil)"
berhubung si petugas mudengnya bahasa londo VB, maka bunyinya begini :
rngDokumen.AdvancedFilter xlfiltercopy,copytorange:=rnghasil ,
unique:=true

4. srupuuutt... uenake... pas kopinya.

Kalau dikumpulken seluruh scriptnya, akan terbentuk begini :
dim rngDokumen as range
set
rngDokumen=sheets("Time_Sheet_Data").range("RangeTimeSheetBuatOvertime")*
.resize(,1)*

dim rngHasil as range
set rngHasil=sheets("Over_time").cells(15,4)*.resize(
rngdokumen.rows.count )*

rngDokumen.AdvancedFilter xlfiltercopy,copytorange:=rnghasil ,
unique:=true

Supaya lebih teratur susunannya, maka semua baris diklarasi dikumpulken dan
diletakkan di atas, menjadi :
dim rngDokumen as range
dim rngHasil as range

set
rngDokumen=sheets("Time_Sheet_Data").range("RangeTimeSheetBuatOvertime")*
.resize(,1)*
set rngHasil=sheets("Over_time").cells(15,4)*.resize(
rngdokumen.rows.count )*

rngDokumen.AdvancedFilter xlfiltercopy,copytorange:=rnghasil ,
unique:=true

Kemudian dibungkus menjadi sebuah surat disposisi tugas milik Anda melalui
jalur CommandButton1 saat diklik
Private Sub CommandButton1_Click()

dim rngDokumen as range
dim rngHasil as range

set
rngDokumen=sheets("Time_Sheet_Data").range("RangeTimeSheetBuatOvertime")*
.resize(,1)*
set rngHasil=sheets("Over_time").cells(15,4)*.resize(
rngdokumen.rows.count )*

rngDokumen.AdvancedFilter xlfiltercopy,copytorange:=rnghasil ,
unique:=true

end sub

Kira-kira demikian. Jadi, sebisa mungkin dibayangkan seakan-akan ada banyak
benda hidup bergerak dan bekerja melakukan sesuatu, daripada berimajinasi
yang muluk tentang posisi cell dan sebagainya.

Wassalam,
Kid.

2013/3/15 <tio.adjie@ptssb.co.id>

> **
>
>
>
> Alhamdulillah ini benar2 bermanfaat bagi saya dan mungkin teman Exceller
> lainnya. Saya tanya 1, jawabannya segambreng.
>
> Semoga Allah SWT membalas kebaikan Mr. Kid.
>
> Untuk contoh yang saya lampirkan, sukses lancar. Tapi anehnya, waktu saya
> coba ke masalah yang sesungguhnya, kok masih bermasalah . Kenapa yah ?
>
> Saya sudah otak atik berkali-kali, tetap saja bermasalah.
>
> Ini file lampirannya :
>
>
>
>
> Worksheetnya ada di worksheet over_time dan worksheet sumber di
> Time_Sheet_Data
>
> Mohon solusinya.
>
> Terima kasih,
> Wassalam,
> Tio
>
>
>
> *"Mr. Kid" <mr.nmkid@gmail.com>*
> Sent by: belajar-excel@yahoogroups.com
>
> 03/15/2013 05:23 PM
> Please respond to belajar-excel
>
> To: belajar-excel@yahoogroups.com
> cc:
> Subject: Re: [belajar-excel] Beri Nama Unik tapi cell di
> bawahnya hilang
>
>
>
>
>
> Dalam prosedur :
> Private Sub NamaUnik_Click()
>
> Range(Cells(16, 3), Cells(16, 3).*End(xlDown)).Select*
> Selection.AdvancedFilter Action:=xlFilterCopy, CopyToRange:=*Cells(2, 4*),
> Unique:=True
> End Sub
>
> Bagian *Cells(2, 4*)
> merujuk ke sejumlah baris yang kurang dari jumlah baris Range(Cells(16,
> 3), Cells(16, 3).*End(xlDown))*
> Dengan begitu, maka proses akan melakukan clearcontents pada kolom *Cells(2,
> 4*) mulai range pojok kiri atasnya sampai kolom terkanan dari *Cells(2, 4*)
> pada baris last cell
>
> Pada kasus ini, *Cells(2, 4*) hanya merujuk pada sebuah cell yaitu D2 (1
> baris). Andai worksheet tersebut memiliki last cell di AX123, maka akan ada
> proses clear contents pada area range D2:D123
>
> Coba ubah jadi :
> Private Sub NamaUnik_Click()
> Range(Cells(16, 3), Cells(16, 3).*End(xlDown)).Select*
> Selection.AdvancedFilter Action:=xlFilterCopy, CopyToRange:=*Cells(2, 4*)*
> .resize(**9**)*, Unique:=True
> End Sub
>
> Bagian .resize(9) akan membuat area range sebanyak 9 baris x 1 kolom,
> dengan asumsi bahwa 9 baris ini akan mencukupi jumlah baris hasil advanced
> filter (termasuk header).
> Karena tidak tahu hasil akhirnya kaan terdiri dari berapa baris, maka
> biasanya di resize sebanyak jumlah baris sumber data yang di advanced
> filter.
> Dalam hal ini berarti sebanyak jumlah baris area Range(Cells(16, 3),
> Cells(16, 3).*End(xlDown))*
>
> Jika akan disusun lengkap, akan seperti ini :
> Private Sub NamaUnik_Click()
> Range(Cells(16, 3), Cells(16, 3).*End(xlDown)).Select*
> Selection.AdvancedFilter Action:=xlFilterCopy, _
> CopyToRange:=*Cells(2, 4*)*.resize(Range(Cells(16,
> 3), Cells(16, 3).End(xlDown)).rows.count)*, _
> Unique:=True
> End Sub
>
>
> fyi,
> Methods Select dan Activate adalah method yang sebaiknya dihindari karena
> membutuhkan waktu proses yang cukup lama. Waktu proses untuk select bisa
> dimanfaatkan untuk proses lainnya yang lebih pokok.
>
> kalau ndak salah duga, script : (misal dinamai Script A)
> Private Sub NamaUnik_Click()
> Range(Cells(16, 3), Cells(16, 3).*End(xlDown)).Select*
> Selection.AdvancedFilter Action:=xlFilterCopy, CopyToRange:=*Cells(2, 4*),
> Unique:=True
> End Sub
> akan diproses jauh lebih lama dibanding script : (misal dinamai script B)
> Private Sub NamaUnik_Click()
> dim rng as range
> set rng=Range(Cells(16, 3), Cells(16, 3).*End(xlDown))*
> rng.AdvancedFilter Action:=xlFilterCopy, CopyToRange:=*Cells(2, 4*),
> Unique:=True
> End Sub
> meskipun jumlah baris script A lebih sedikit dibanding script B.
>
> Andai saja script A dikalkulasi 2 x waktu proses script B, maka jika
> memakai script A untuk 1 proses bisa menyelesaikan 2 proses yang sama
> dengan script B.
>
> Kembali ke pokok masalah.
> Jika akan menggunakan area data sumber yang di advanced sebagai area
> bagian copytorange, maka script B bisa berbunyi :
> Private Sub NamaUnik_Click()
> dim rng as range
> set rng=Range(Cells(16, 3), Cells(16, 3).*End(xlDown))*
> rng.AdvancedFilter Action:=xlFilterCopy, CopyToRange:=*Cells(2, 4*)
> .resize(rng.rows.count), Unique:=True
> End Sub
>
> mohon dikoreksi kalo salah.
>
> Wassalam,
> Kid.
>
>
> 2013/3/15 hendrik karnadi <*hendrikkarnadi@yahoo.com*<hendrikkarnadi@yahoo.com>
> >
>
>
> Bagian yang diberi huruf tebal ini yang menyebabkan "bentrok" karena kolom
> 4 akan diisi dengan sel kosong hasil filter.
>
> Private Sub NamaUnik_Click()
> Range(Cells(16, 3), Cells(16, 3).*End(xlDown)).Select*
> Selection.AdvancedFilter Action:=xlFilterCopy, CopyToRange:=*Cells(2, 4*),
> Unique:=True
> End Sub
>
> Coba *ganti warna merah* dengan *selain 3 atau 4*
>
> Salam,
> HK
>
>
> ------------------------------
> *From:* "*tio.adjie@ptssb.co.id* <tio.adjie@ptssb.co.id>" <*
> tio.adjie@ptssb.co.id* <tio.adjie@ptssb.co.id>>*
> To:* *belajar-excel@yahoogroups.com* <belajar-excel@yahoogroups.com> *
> Sent:* Friday, 15 March 2013, 16:35*
> Subject:* [belajar-excel] Beri Nama Unik tapi cell di bawahnya hilang
>
>
>
> Dear Be-Exceller,
>
> Saya belajar membuat mencari nama unik dan di tempatkan ke cell tertentu.
> Nama unik itu saya ambil dari kolom nama. Tapi setelah saya coba membuat
> nama unik ke cell tertentu, kok isi cell
>
> persis di bawah cell tujuan menghilang, kenapa yah ?
>
>
> Ini file terlampir :
>
>
>
> Terima kasih jawabannya.
> Wassalam,
> Tio
>
>
>
>
>

Fri Mar 15, 2013 7:37 am (PDT) . Posted by:

"Indra" indra_gustian

Wah ternyata sudah Pernah di bahas ya?? ^_^

Ok Thx a Lot atas bantuannya Mr. Kid

Semoga sll diberikan kebahagian untuk anda N exceller mania yg
lain..Amiieeenn

Salam,

ChordJR

From: belajar-excel@yahoogroups.com [mailto:belajar-excel@yahoogroups.com]
On Behalf Of Mr. Kid
Sent: Friday, March 15, 2013 7:14 PM
To: belajar-excel@yahoogroups.com
Subject: Re: [belajar-excel] Copy Paste WB yang di Password

Hai ChordJR

Tentang VBA untuk berinteraksi dengan workbook yang di password.
Coba ubek-ubek file iface.xlsm dalam zip file hasil unduhan di
https://www.box.com/s/3r4n63p8cjfmbl4wntk4

Wassalam,
Kid.

2013/3/15 Indra <vendeta_06@yahoo.co.id>

Dear All,

Tolong bantu menyempurnakan macro di bwh ini:

1. Sebagian ada yg saya Record, bagaimana apabila di ringkas??

2. Bagian yg berbunyi "If ActiveWorkbook Is Nothing Then Exit Sub "
disini tidak jalan.ada perintah save/no...tolong dibantu penyempurnaannya??

3. Apabila WorkBook di Password bagaimana kode untuk membukanya??
(alurnya spt ini : isi password>>read only)

Private Sub CommandButton2_Click()

Workbooks.Open FileName:=Lb_Path & "\" & Label3, UpdateLinks:=0

Sheets("Sheet1").Select

Cells.Select

Selection.Copy

Windows("OpenBudget.xlsm").Activate

Sheets.Add After:=Sheets(Sheets.Count)

Selection.PasteSpecial Paste:=xlPasteAllUsingSourceTheme,
Operation:=xlNone _

, SkipBlanks:=False, Transpose:=False

ActiveWindow.Zoom = 70

If ActiveWorkbook Is Nothing Then Exit Sub

End Sub

Salam,

ChordJR

Fri Mar 15, 2013 9:31 pm (PDT) . Posted by:

"Hendri" hendri207

Dear Kakak pakar excell Semuanya,

Mohon bantuannya, saya ada tugas tapi tidak bisa mengerjakannya.
Soalnya begini;
Ada 10 karyawan (namanya si roni, andi, wahyu, davit, yudi, erik, toni, nando, riko, hadi).
5 orang bekerja non shift (roni, andi, wahyu, davit, yudi) jam kerja nya dari jam 07.00 s / d 11.00, istirahat 2 jam terus masuk lagi jam 13.00 s / d 17.00 bekerja selama 10 hari dari tanggal 1 maret 2013 s / d 10 maret 2013 (mereka yang non shift ini tidak ada lembur karena jam kerjanya standar yaitu tidak melebihi 8 jam).
5 orang lagi bekerja shift (erik, toni, nando, riko, hadi) jam kerjanya dari jam 19.00 s / d 07.00 pagi, bekerja selama 10 hari dari tanggal 1 maret 2013 s / d 10 maret 2013 sama dengan yang non shift tadi, mereka yang shift ini terhitung lembur 4 jam setiap harinya karena jam kerjanya 12 jam setiap hari selama 10 hari tersebut.

Saya mengaharapkan bantuan kakak2 semuanya bagaimana membuatnya dalam tabel excell, grafik lemburnya, presentase lembur selama 10 hari dan perharinya dan bagaimana menampilkan manhournya.

Terimakaasih telah ada forum ini, semoga kita semua mendapat ilmu yang lebih dalam lagi di forum ini.

Regards
Hendri

Sat Mar 16, 2013 12:49 am (PDT) . Posted by:

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

Coba buat sebuah tabel di sebuah sheet (header di baris 1 mulai cell A1)
dengan header kolom :
Tanggal, NIP, Nama, Tipe_Shift, Total_Jam_Kerja, Total_Jam_Lembur

Isi record tanpa ada cell kosong (apalagi baris kosong).
Tanggal diisi dengan cara menulis dalam cell mengikuti format YYYY-MM-DD,
contoh 2013-03-10
NIP diisi dengan nomor indup pegawai. Create yang unik jika tidak ada. NIP
lebih pokok dibanding Nama, karena setiap NIP pasti hanya dimiliki
seseorang. Sebuah Nama bisa dimiliki oleh beberapa orang.
Tipe_Shift bisa diisi teks berbunyi Shift atau Non Shift. Semua bunyi Shift
pas ti sama di semua record, begitu juga dengan Non Shift. Bisa juga
diwakili angka, misal 1 untuk Shift dan 2 untuk Non Shift. Sekali pilih
diwakili angka, maka isinya pasti harus angka dan bertipe numerik.
Total_Jam_Kerja dan Total_Jam_Lembur diisi angka seperti 8 untuk 8 Jam
(ndak usah disertai satuan waktunya)

Simpan workbook dan lampirkan ke milis sebagai contoh data. Dengan begitu,
BeExceller punya media untuk mencoba mencari solusi.

Grafik. Coba jabarkan grafiknya akan memiliki sumbu apa vs sumbu apa.

Man hour.
Man hour setiap pegawai = total hari kerja * total jam kerja per hari
Man hour total = jumlahkan seluruh nilai man hour setiap pegawai

Wassalam,
Kid.

2013/3/16 Hendri <hendri207@yahoo.com>

> **
>
>
> Dear Kakak pakar excell Semuanya,
>
> Mohon bantuannya, saya ada tugas tapi tidak bisa mengerjakannya.
> Soalnya begini;
> Ada 10 karyawan (namanya si roni, andi, wahyu, davit, yudi, erik, toni,
> nando, riko, hadi).
> 5 orang bekerja non shift (roni, andi, wahyu, davit, yudi) jam kerja nya
> dari jam 07.00 s / d 11.00, istirahat 2 jam terus masuk lagi jam 13.00 s /
> d 17.00 bekerja selama 10 hari dari tanggal 1 maret 2013 s / d 10 maret
> 2013 (mereka yang non shift ini tidak ada lembur karena jam kerjanya
> standar yaitu tidak melebihi 8 jam).
> 5 orang lagi bekerja shift (erik, toni, nando, riko, hadi) jam kerjanya
> dari jam 19.00 s / d 07.00 pagi, bekerja selama 10 hari dari tanggal 1
> maret 2013 s / d 10 maret 2013 sama dengan yang non shift tadi, mereka yang
> shift ini terhitung lembur 4 jam setiap harinya karena jam kerjanya 12 jam
> setiap hari selama 10 hari tersebut.
>
> Saya mengaharapkan bantuan kakak2 semuanya bagaimana membuatnya dalam
> tabel excell, grafik lemburnya, presentase lembur selama 10 hari dan
> perharinya dan bagaimana menampilkan manhournya.
>
> Terimakaasih telah ada forum ini, semoga kita semua mendapat ilmu yang
> lebih dalam lagi di forum ini.
>
> Regards
> Hendri
>
>
>

Fri Mar 15, 2013 9:31 pm (PDT) . Posted by:

"Mansor" nbmy1980

Pak Kid,

Mau tanya, apa artinya (2,1) pada formula LOOKUP.

Terima kasih

Mansor

2013/3/13 Mr. Kid <mr.nmkid@gmail.com>

> **
>
>
> Coba formula di B10 :
> =LOOKUP(2,1/(('Daftar Sekolah'!$D$4:$D$422=B$8)*('Daftar
> Sekolah'!$F$4:$F$422=C10)),'Daftar Sekolah'!$G$4:$G$422)
>
> Wassalam,
> Kid.
>
>
> 2013/3/13 Setia Budi <afasetia@yahoo.co.id>
>
>> **
>>
>>
>> Dear Miss Jan Raisin,
>>
>> Terimakasih sudah menanggapi, berikut saya lampirkan sample workbooknya
>>
>> Wassalam,
>> SETIA
>>
>>
>> ------------------------------
>> *Dari:* Jan Raisin <miss.jan.raisin@gmail.com>
>> *Kepada:* belajar-excel@yahoogroups.com
>> *Dikirim:* Rabu, 13 Maret 2013 15:47
>> *Judul:* Re: [belajar-excel] Fungsi if multi kondisi dan alternatifnya
>>
>>
>>
>> kelihatannya bisa menggunakan formula Index & Match atau SumProduct, coba
>> kirimkan sampel workbooknya
>>
>> Wassalam,
>>
>> -Miss Jan Raisin-
>> Pada 13 Maret 2013 15.13, Setia <afasetia@yahoo.co.id> menulis:
>>
>> **
>>
>> Untuk para master exel khususnya penghuni situs ini..
>> mohon pencerahannya
>>
>> kasusnya adalah saya harus memberi informasi secepat mungkin mengenai
>> pertandingan bola yang sedang berlangsung, sebagai gambaran:
>>
>> saya mempunyai 1 file exel berupa :
>> sheet 1 (sebagai database) :berisikan 10 nama club , nama pemain + no
>> punggung @ club dan juga jadwal pertandingan
>> sheet 2 : kronologi pertandingan yang sedang berlangsung ( club vs club ,
>> no punggung berapa yang mencetak gol , jumlah gol
>>
>> yang saya tanyakan adalah :
>> bagaimana cara menuliskan fungsi yang cocok agar saya mendapatkan nama
>> pemain (yang menciptakan gol) hanya dengan mengacu pada no punggung
>> pemain, sedangkan no punggung antar club kemungkinan besar ada yang sama..
>>
>>
>> tambahan :
>> saya coba pakai rumus IF ga bisa lebih dari 7 kondisi
>>
>> terima kasih sebelumya
>> SETIA
>>
>>
>>
>>
>>
>>
>>
>
>

Fri Mar 15, 2013 9:39 pm (PDT) . Posted by:

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

Formula LookUp memiliki syntax :
=LookUp( nilai_yang_di_lookup , array_data_lookup ,
[array_data_yang_diambil] )
[array_data_yang_diambil] jika dikosongkan akan mengambil data dari
array_data_lookup.

Pada formula lookup berbunyi :
=LOOKUP( 2 , 1/(('Daftar Sekolah'!$D$4:$D$422=B$8)*('Daftar
Sekolah'!$F$4:$F$422=C10)) , 'Daftar Sekolah'!$G$4:$G$422 )
>> nilai_yang_di_lookup adalah 2
>> array_data_lookup adalah hasil komputasi 1/(('Daftar
Sekolah'!$D$4:$D$422=B$8)*('Daftar Sekolah'!$F$4:$F$422=C10))
>> [array_data_yang_diambil] adalah 'Daftar Sekolah'!$G$4:$G$422

Wassalam,
Kid.

2013/3/16 Mansor <dbpermatasari@gmail.com>

> **
>
>
> Pak Kid,
>
> Mau tanya, apa artinya (2,1) pada formula LOOKUP.
>
>
> Terima kasih
>
>
> Mansor
>
> 2013/3/13 Mr. Kid <mr.nmkid@gmail.com>
>
> **
>>
>>
>> Coba formula di B10 :
>> =LOOKUP(2,1/(('Daftar Sekolah'!$D$4:$D$422=B$8)*('Daftar
>> Sekolah'!$F$4:$F$422=C10)),'Daftar Sekolah'!$G$4:$G$422)
>>
>> Wassalam,
>> Kid.
>>
>>
>> 2013/3/13 Setia Budi <afasetia@yahoo.co.id>
>>
>>> **
>>>
>>>
>>> Dear Miss Jan Raisin,
>>>
>>> Terimakasih sudah menanggapi, berikut saya lampirkan sample workbooknya
>>>
>>> Wassalam,
>>> SETIA
>>>
>>>
>>> ------------------------------
>>> *Dari:* Jan Raisin <miss.jan.raisin@gmail.com>
>>> *Kepada:* belajar-excel@yahoogroups.com
>>> *Dikirim:* Rabu, 13 Maret 2013 15:47
>>> *Judul:* Re: [belajar-excel] Fungsi if multi kondisi dan alternatifnya
>>>
>>>
>>>
>>> kelihatannya bisa menggunakan formula Index & Match atau SumProduct,
>>> coba kirimkan sampel workbooknya
>>>
>>> Wassalam,
>>>
>>> -Miss Jan Raisin-
>>> Pada 13 Maret 2013 15.13, Setia <afasetia@yahoo.co.id> menulis:
>>>
>>> **
>>>
>>> Untuk para master exel khususnya penghuni situs ini..
>>> mohon pencerahannya
>>>
>>> kasusnya adalah saya harus memberi informasi secepat mungkin mengenai
>>> pertandingan bola yang sedang berlangsung, sebagai gambaran:
>>>
>>> saya mempunyai 1 file exel berupa :
>>> sheet 1 (sebagai database) :berisikan 10 nama club , nama pemain + no
>>> punggung @ club dan juga jadwal pertandingan
>>> sheet 2 : kronologi pertandingan yang sedang berlangsung ( club vs club
>>> , no punggung berapa yang mencetak gol , jumlah gol
>>>
>>> yang saya tanyakan adalah :
>>> bagaimana cara menuliskan fungsi yang cocok agar saya mendapatkan nama
>>> pemain (yang menciptakan gol) hanya dengan mengacu pada no punggung
>>> pemain, sedangkan no punggung antar club kemungkinan besar ada yang sama..
>>>
>>>
>>> tambahan :
>>> saya coba pakai rumus IF ga bisa lebih dari 7 kondisi
>>>
>>> terima kasih sebelumya
>>> SETIA
>>>
>>>
>>>
>>>
>>>
>>>
>>>
>>
>
>

Fri Mar 15, 2013 9:43 pm (PDT) . Posted by:

"aidil alif" aidil_alif

Assalamualaikum

Dear Para Spesialis Excel

Saya mohon bantuannya

di excel di formula tertera seperti di bawah ini :

01/02/2013 9:56:11 (dalam satu cell)

apa ya formula untuk membuang jam-nya?

saya udah coba pake Format/Cell berupa tanggal aja. Secara tampilan jam-nya memang sudah tidak ada, tapi di formula masih ada.

Yang saya inginkan jam-nya dihilangkan, dan benar-benar hilang.

Terima kasih

Sat Mar 16, 2013 12:31 am (PDT) . Posted by:

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

Wa'alaikumussalam Wr. Wb.

Asumsi :
> data bertipe datetime (berisi tanggal dan jam) di kolom A mulai cell A2.

Pada sebuah cell hasil di beris 2 (selain cell A2) diberi formula :
=Int( A2 )

Jika ingin dibuat tanggalnya menjadi sama semua : (misal akan dijadikan
rujukan rekap bulanan)
=Int( A2 ) - Day( A2 ) + 1

Andai report disusun dengan pivot table, bisa jadi ndak perlu dihilangkan
data jamnya dan ndak perlu membuat kolom berisi tanggal saja karena bisa
menggunakan fasilitas Group dalam pivot table.

Wassalamu'alaikum Wr. Wb.
Kid.

2013/3/16 aidil alif <aidil_alif@yahoo.com>

> **
>
>
> Assalamualaikum
>
> Dear Para Spesialis Excel
>
> Saya mohon bantuannya
>
> di excel di formula tertera seperti di bawah ini :
>
> 01/02/2013 9:56:11 (dalam satu cell)
>
> apa ya formula untuk membuang jam-nya?
>
> saya udah coba pake Format/Cell berupa tanggal aja. Secara tampilan
> jam-nya memang sudah tidak ada, tapi di formula masih ada.
>
> Yang saya inginkan jam-nya dihilangkan, dan benar-benar hilang.
>
> Terima kasih
>
>
>

Sat Mar 16, 2013 2:43 am (PDT) . Posted by:

"wahyu sampurna" wagiman777

Dear All Master Excel

Assalamu'alaikum.
Master yang budiman mohon bantuan formulanya pada tabel yang saya buat ini
pada cell A2 jika saya select untuk dipilihnya kemudian pada cell C2,
E2...W2
maka akan menghasilkan bulan dan Tahun sesuai dengan yang seleknya.
contoh tabel terlampir.
Terimakasih sebelumnya master.

Wassalam,
Wahyu

Sat Mar 16, 2013 2:48 am (PDT) . Posted by:

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

Wa'alaikumussalam Wr. Wb.

Mohon tidak cc atau bcc bahkan to ke akun selain
belajar-excel@yahoogroups.com
Coba formula :
=EDATE($A2,COLUMN()/2)

Wassalamu'alaikum Wr. Wb.
Kid.

2013/3/16 wahyu sampurna <wahyusampurna@gmail.com>

> **
>
>
> Dear All Master Excel
>
> Assalamu'alaikum.
> Master yang budiman mohon bantuan formulanya pada tabel yang saya buat ini
> pada cell A2 jika saya select untuk dipilihnya kemudian pada cell C2,
> E2...W2
> maka akan menghasilkan bulan dan Tahun sesuai dengan yang seleknya.
> contoh tabel terlampir.
> Terimakasih sebelumnya master.
>
> Wassalam,
> Wahyu
>
>

Sat Mar 16, 2013 3:01 am (PDT) . Posted by:

"dhen.baguse" bagusejogja

Salam master excel,
 
Akhir tahun 2012 saya pernah menanyakan masalah ini ke milis
dan sudah ditanggapai temen-temen milis sangat memuaskan, setelah saya mendapat
jawaban dari temen-temen milis saya mencoba untuk mengembangkan sesuai apa yang
saya butuhkan dengan menggunakan pemahaman saya sendiri.
Setelah saya membuat modul VBA dengan pemahaman bahasa saya sendiri,
saya mohon masukan para master excel poin-point mana yang bisa diringkas/diefisienkan. Modul saya pindah ke
notepad, tadi saya mau kirimkan dengan excelnya ukurannya hampir 700kb jadi
saya hanya copykan modulnya saja. Gambarannya  setiap sub prosedur saya bikin satu tombol,
dan bagaimana jika satu modul yang terdiri dari beberapa sub dibuat 1 tombol.
 
Semoga bahsa saya tidak membingungkan temen
temen....

Terimaskih 

----------

Option Explicit
' ---------------------------- '
' Code by Jan Raisin '
' untuk millis Belajar Excel '
' 12 November 2012 '
' ---------------------------- '
' nama prosedur
Sub DistKeSheet()
' deklarasi header Tanggal, range Tanggal, & cell Tanggal
' tipe data adalah range karena yang akan diambil adalah object-nya
Dim hdTgl, rgTgl, cTgl As Range

' deklarasi varabel untuk menyimpan nomor baris data
' tipe data adalah long integer (Long) agar dapat memuat nilai yang sangat besar
Dim rData, c As Long

' deklarasi variabel untuk menyimpan nama sheet
' tipe data adalah string karena akan digunakan menyimpan data berupa text / string
Dim NamaSheet As String

' deklarasi variabel untuk menyimpan saldo akhir
' tipe data adalah dobel untuk mengantisipasi nilai dalam bentuk desimal
Dim Saldo As Double

Dim rng As Range, lRec As Long '<<<<<<<<< Baru untuk bpp
Set rng = Sheet2.Range("c10").CurrentRegion '<<<<<<< baru
With rng
lRec = .Rows.Count - 1
If lRec > 0 Then
With .Resize(lRec, 1).Offset(9, 2)
.Formula = "=if(d10="""","""",row()-9)"
.Parent.Calculate
.Value = .Value
End With
With .Resize(lRec, 1).Offset(9, 5)
.Formula = "=if(d10="""","""",Index(Master!$B$4:$B$46, Match(D10, Master!$C$4:$C$46, 0)))"
.Parent.Calculate
.Value = .Value
End With
With .Resize(lRec, 1).Offset(9, 20)
.Formula = "=IF(F10="""",0,INDEX(Master!$E$4:$M$46, MATCH(F10,Master!$B$4:$B$46,0), MATCH(u$7,Master!$E$2:$M$2,0)))"
.Parent.Calculate
.Value = .Value
End With
With .Resize(lRec, 1).Offset(9, 21)
.Formula = "=IF(F10="""",0,INDEX(Master!$E$4:$M$46, MATCH(F10,Master!$B$4:$B$46,0), MATCH(v$7,Master!$E$2:$M$2,0)))"
.Parent.Calculate
.Value = .Value
End With
With .Resize(lRec, 1).Offset(9, 22)
.Formula = "=IF(F10="""",0,INDEX(Master!$E$4:$M$46, MATCH(F10,Master!$B$4:$B$46,0), MATCH(w$7,Master!$E$2:$M$2,0)))"
.Parent.Calculate
.Value = .Value
End With
With .Resize(lRec, 1).Offset(9, 23)
.Formula = "=IF(F10="""",0,INDEX(Master!$E$4:$M$46, MATCH(F10,Master!$B$4:$B$46,0), MATCH(x$7,Master!$E$2:$M$2,0)))"
.Parent.Calculate
.Value = .Value
End With
With .Resize(lRec, 1).Offset(9, 24)
.Formula = "=IF(F10="""",0,INDEX(Master!$E$4:$M$46, MATCH(F10,Master!$B$4:$B$46,0), MATCH(y$7,Master!$E$2:$M$2,0)))"
.Parent.Calculate
.Value = .Value
End With
With .Resize(lRec, 1).Offset(9, 25)
.Formula = "=IF(F10="""",0,INDEX(Master!$E$4:$M$46, MATCH(F10,Master!$B$4:$B$46,0), MATCH(z$7,Master!$E$2:$M$2,0)))"
.Parent.Calculate
.Value = .Value
End With
With .Resize(lRec, 1).Offset(9, 26)
.Formula = "=IF(F10="""",0,INDEX(Master!$E$4:$M$46, MATCH(F10,Master!$B$4:$B$46,0), MATCH(aa$7,Master!$E$2:$M$2,0)))"
.Parent.Calculate
.Value = .Value
End With
With .Resize(lRec, 1).Offset(9, 27)
.Formula = "=IF(F10="""",0,INDEX(Master!$E$4:$M$46, MATCH(F10,Master!$B$4:$B$46,0), MATCH(ab$7,Master!$E$2:$M$2,0)))"
.Parent.Calculate
.Value = .Value
End With
With .Resize(lRec, 1).Offset(9, 28)
.Formula = "=IF(F10="""",0,INDEX(Master!$E$4:$M$46, MATCH(F10,Master!$B$4:$B$46,0), MATCH(ac$7,Master!$E$2:$M$2,0)))"
.Parent.Calculate
.Value = .Value
End With
End If
End With

'untuk membersihkan sheet
Sheets("bku").Select
Range(Range("b11"), Range("b11").End(xlDown).End(xlToRight)).ClearContents
Range(Range("g8"), Range("g8")).ClearContents
Sheets("Tunai").Select
Range(Range("b11"), Range("b11").End(xlDown).End(xlToRight)).ClearContents
Range(Range("g8"), Range("g8")).ClearContents
Sheets("bank").Select
Range(Range("b11"), Range("b11").End(xlDown).End(xlToRight)).ClearContents
Range(Range("g8"), Range("g8")).ClearContents
Sheets("perjadin").Select
Range(Range("b11"), Range("b11").End(xlDown).End(xlToRight)).ClearContents
Range(Range("g8"), Range("g8")).ClearContents
Sheets("lain").Select
Range(Range("b11"), Range("b11").End(xlDown).End(xlToRight)).ClearContents
Range(Range("g8"), Range("g8")).ClearContents
Sheets("kas").Select
Range(Range("b11"), Range("b11").End(xlDown).End(xlToRight)).ClearContents
Range(Range("g8"), Range("g8")).ClearContents

' non-aktifkan fitur screen update agar vba berjalan lebih cepat
Application.ScreenUpdating = False

' pertama, aktifkan sheet input
Sheets("Input").Select

' tentukan lokasi header untuk tanggal
' letaknya di sheet input cell b8
Set hdTgl = Sheets("Input").Range("b8")

' tentukan lokasi range tanggel
' letaknya 1 baris di bawah header
' sampai dengan baris terakhir yang berisi data
Set rgTgl = Range(hdTgl.Offset(1, 0), hdTgl.End(xlDown))

' lakukan loop terhadap range tanggal
For Each cTgl In rgTgl

' ambil nilai baris dari setiap tanggal dengan menggunakan perintah .Row
rData = cTgl.Row

' lakukan loop untuk kolom J (kolom nomer 10) sampai R (kolom nomer 18)
For c = 21 To 26

' periksa kondisi apakah perpotongan antara baris & kolom bernilai 0 (nol) atau tidak
If Cells(rData, c).Value <> 0 Then

' jika perpotongan baris & kolom <> 0 (nol)
' ambil nilai di baris 7 pada kolom tersebut menggunakan perintah .Value
' cara menunjuknya adalah menggunakan perintah Cells(7, c)
' nilai ini adalah nama setiap sheet yang akan menerima distribusi data
' dan disimpan dalam variabel yang bernama NamaSheet
NamaSheet = Cells(7, c).Value

' panggil sheet tersebut sesuai dengan namanya
Sheets(NamaSheet).Select

' pergi ke cell B10, karena ini adalah header tanggal dari setiap sheet
Range("b10").Select

' periksa apakah 1 baris di bawah header tanggal tersebut ada datanya atau tidak
If ActiveCell.Offset(1, 0) = "" Then

' jika 1 baris di bawah header tidak ada datanya, maka
' dari header turun 1 baris ke bawah menggunakan perintah .Offset(1, 0)
ActiveCell.Offset(1, 0).Select

' karena ini adalah data pertama, maka
' beri nilai 1 pada kolom nomer bukti
' letaknya adalah 1 kolom di sebelah kanan dari cell yang aktif
' untuk menunjuk lokasinya menggunakan perintah .Offset(, 1)
'ActiveCell.Offset(, 1).Value = 1 <<< jk di sheet urut (ada 2 item yanghrs d
ActiveCell.Offset(, 1).Value = Sheets("Input").Cells(rData, 3).Value

' selain itu
Else

' kalo sampai di sini, berarti di sheet tersebut sudah ada datanya
' dari header turun ke data yang paling bawah menggunakan perintah .End(xlDown)
' lalu turun lagi 1 baris ke baris yang kosong dengan menggunakan perintah .Offset(1, 0)
ActiveCell.End(xlDown).Offset(1, 0).Select

' karena sebelumnya sudah ada data, maka nomer bukti adalah <<<< nomor di sheet
' nomer bukti pada baris di atasnya ditambah dengan nilai 1
'ActiveCell.Offset(, 1).Value = ActiveCell.Offset(-1, 1).Value + 1 <<< jk di sheet urut
ActiveCell.Offset(, 1).Value = Sheets("Input").Cells(rData, 3).Value

' yang ini adalah akhir dari pemeriksaan apakah di sheet yang dituju sudah ada datanya atau belum
End If

' mulai dari sini kita akan bekerja dengan cell yang aktif pada sheet yang sudah terpilih
' untuk itu selalu dibuka dengan perintah With nama_object
' dan selalu ditutup dengan End With
With ActiveCell

' pada aktif cell diisi dengan tanggal
' nilainya berasal dari sheet Input, terletak pada perpotongan baris dengan kolom 2 (kolom B)
.Value = Sheets("Input").Cells(rData, 2).Value

' 2 kolom di sebelah kanan aktif cell diisi dengan nilai yang berasal dari
' perpotongan antara baris dengan kolom (mulai kolom 10 atau kolom J sampai kolom 18 atau kolom R)
'.Offset(, 2).Value = Sheets("Input").Cells(rData, c).Value <<< untuk menampilak kolom d,k,d/k

' 2 kolom di sebelah kanan aktif cell diisi dengan Uraian Transaksi
' nilainya berasal dari sheet Input, terletak pada perpotongan baris dengan kolom 4 (kolom d)
.Offset(, 2).Value = Sheets("Input").Cells(rData, 5).Value
'.Offset(, 2).Value = Sheets("Input").Cells(rData, 7).Value & " - " & Sheets("Input").Cells(rData, 5).Value

'.Offset(, 7).Value = Sheets("input").Cells(rData, 10).Value
'.Offset(, 8).Value = Sheets("input").Cells(rData, 11).Value
'.Offset(, 9).Value = Sheets("input").Cells(rData, 12).Value
'.Offset(, 10).Value = Sheets("input").Cells(rData, 13).Value



' sekarang kita melakukan pengujian data terhadap kode yang tercantum dalam kolom nama baris
' dan perpotongan baris tanggal
' kondisi pertama jika kode adalah D/K
If Sheets("Input").Cells(rData, c) = "D/K" Then

' maka nilai kolom Masuk & kolom Keluar pada sheet yang terpilih
' diisi dengan nilai yang berasal dari kolom Jumlah pada sheet Input
' untuk menunjuk kolom masuk yang terletak 3 kolom di sebelah kanan cell aktif
' menggunakan perintah .Offset(, 3)
.Offset(, 3).Value = Sheets("Input").Cells(rData, 9).Value

' untuk menunjuk kolom masuk yang terletak 4 kolom di sebelah kanan cell aktif
' menggunakan perintah .Offset(, 4)
.Offset(, 4).Value = Sheets("Input").Cells(rData, 9).Value

' lakukan pengujian dengan kondisi berikutnya yaitu kode adalah D
ElseIf Sheets("Input").Cells(rData, c) = "D" Then

' pada kondisi ini yang diisi dengan nilai adalah kolom Masuk
.Offset(, 3).Value = Sheets("Input").Cells(rData, 9).Value

' sedangkan kolom keluar diisi dengan nilai 0 (nol)
.Offset(, 4).Value = 0

' selain itu, berarti kode adalah K
Else

' pada kondisi ini kolom Masuk diisi dengan 0 (nol)
.Offset(, 3).Value = 0

' sedangkan kolom Keluar diisi dengan nilai yang berasal dari sheet Input
.Offset(, 4).Value = Sheets("Input").Cells(rData, 9).Value

' ini adalah penutup dari pengecekan kode
End If

' sekarang dilakukan pengujian untuk menenukan nilai Saldo Akhir
' jika cell aktif ada di baris 11, berarti ini adalah data pertama
If ActiveCell.Row = 11 Then

' maka Saldo akhir adalah nilai pada cell g7 + e11 - f11
Saldo = Range("g7").Value + Range("e11").Value - Range("f11").Value

' selain itu, berarti ini bukanlah data pertama
Else

' nilai Saldo akhir berasal dari saldo akhir pada 1 baris di atasnya
' letaknya adalah 1 baris di atas cell aktif
' dan 6 kolom di sebelah kanan cell aktif
' untuk menunjuknya digunakan perintah .Offset(-1, 5)
' ditambah nilai pada kolom Masuk
' letaknya 4 kolom di sebelah kanan cell aktif
' untuk menunjuknya digunakan perintah .Offset(, 3)
' dikurangi nilai kolom Keluar
' letaknya 5 kolom di sebelah kanan cell aktif
' untuk menunjuknya digunakan perintah .Offset(, 4)
Saldo = .Offset(-1, 5).Value + .Offset(, 3).Value - .Offset(, 4).Value

' ini adalah penutup dari perhitungan Saldo Akhir
End If

' pada cell g8 & kolom Saldo diisi dengan nilai Saldo Akhir yang sudah diperoleh sebelumnya
Range("g8").Value = Saldo
.Offset(, 5).Value = Saldo

' ini adalah penutup dari blok With ActiveCell
End With

' ini adalah penutup dari blok pemeriksaan kode transaksi
End If

' panggil kembali sheet Input
Sheets("Input").Select

' periksa kolom berikutnya
Next c

' periksa baris tanggal berikutnya
Next cTgl

' aktifkan kembali fitur screen update
Application.ScreenUpdating = True

' ini adalah akhir dari prosedur Distribusi ke setiap sheet
End Sub
Sub BPP()

Dim hdTgl, rgTgl, cTgl As Range
Dim rData, c As Long
Dim NamaSheet As String
Dim Saldo As Double

Sheets("bpp").Select
Range(Range("b11"), Range("b11").End(xlDown).End(xlToRight)).ClearContents
Range(Range("g8"), Range("g8")).ClearContents

Application.ScreenUpdating = False

Sheets("Input").Select

Set hdTgl = Sheets("Input").Range("b8")
Set rgTgl = Range(hdTgl.Offset(1, 0), hdTgl.End(xlDown))

For Each cTgl In rgTgl

rData = cTgl.Row

For c = 27 To 27

If Cells(rData, c).Value <> 0 Then

NamaSheet = Cells(7, c).Value

Sheets(NamaSheet).Select

Range("b10").Select

If ActiveCell.Offset(1, 0) = "" Then


ActiveCell.Offset(1, 0).Select

ActiveCell.Offset(, 1).Value = Sheets("Input").Cells(rData, 3).Value

Else

ActiveCell.End(xlDown).Offset(1, 0).Select

ActiveCell.Offset(, 1).Value = Sheets("Input").Cells(rData, 3).Value

End If

With ActiveCell

.Value = Sheets("Input").Cells(rData, 2).Value
.Offset(, 4).Value = Sheets("Input").Cells(rData, 5).Value
.Offset(, 2).Value = Sheets("input").Cells(rData, 7).Value

Dim rng As Range, lRec As Long '<<<<<<<<< Baru untuk bpp
Set rng = Sheet7.Range("b10").CurrentRegion '<<<<<<< baru
With rng
lRec = .Rows.Count - 1
If lRec > 0 Then
With .Resize(lRec, 1).Offset(1, 3)
'.Formula = "=LEFT(f11,FIND("" - "",f11&"" - - "",FIND("" - "",f11&"" - "")+1)-1)"
.Formula = "=LEFT(f11,FIND("" _ "",f11&"" _ _ "")-1)"
.Parent.Calculate
.Value = .Value
End With
End If
End With

If Sheets("Input").Cells(rData, c) = "D/K" Then

.Offset(, 5).Value = Sheets("Input").Cells(rData, 9).Value
.Offset(, 6).Value = Sheets("Input").Cells(rData, 9).Value

ElseIf Sheets("Input").Cells(rData, c) = "D" Then

.Offset(, 5).Value = Sheets("Input").Cells(rData, 9).Value
.Offset(, 6).Value = 0

Else

.Offset(, 5).Value = 0
.Offset(, 6).Value = Sheets("Input").Cells(rData, 9).Value

End If

If ActiveCell.Row = 11 Then

Saldo = Range("i7").Value + Range("g11").Value - Range("h11").Value

Else

Saldo = .Offset(-1, 7).Value + .Offset(, 5).Value - .Offset(, 6).Value

End If

Range("i8").Value = Saldo
.Offset(, 7).Value = Saldo

End With

End If

Sheets("Input").Select

Next c

Next cTgl

Application.ScreenUpdating = True

End Sub


Sub up()

Dim hdTgl, rgTgl, cTgl As Range
Dim rData, c As Long
Dim NamaSheet As String
Dim Saldo As Double

Sheets("up").Select
Range(Range("b11"), Range("b11").End(xlDown).End(xlToRight)).ClearContents
Range(Range("g8"), Range("g8")).ClearContents
'Sheets("pajak";).Select
'Range(Range("b11"), Range("b11").End(xlDown).End(xlToRight)).ClearContents
'Range(Range("g8"), Range("g8")).ClearContents
Application.ScreenUpdating = False

Sheets("Input").Select

Set hdTgl = Sheets("Input").Range("b8")
Set rgTgl = Range(hdTgl.Offset(1, 0), hdTgl.End(xlDown))

For Each cTgl In rgTgl

rData = cTgl.Row

For c = 28 To 28

If Cells(rData, c).Value <> 0 Then


NamaSheet = Cells(7, c).Value
Sheets(NamaSheet).Select
Range("b10").Select

If ActiveCell.Offset(1, 0) = "" Then

ActiveCell.Offset(1, 0).Select
ActiveCell.Offset(, 1).Value = Sheets("Input").Cells(rData, 3).Value

Else

ActiveCell.End(xlDown).Offset(1, 0).Select
ActiveCell.Offset(, 1).Value = Sheets("Input").Cells(rData, 3).Value

End If

With ActiveCell

.Value = Sheets("Input").Cells(rData, 2).Value
.Offset(, 2).Value = Sheets("Input").Cells(rData, 5).Value
.Offset(, 7).Value = Sheets("input").Cells(rData, 10).Value
.Offset(, 8).Value = Sheets("input").Cells(rData, 11).Value
.Offset(, 9).Value = Sheets("input").Cells(rData, 13).Value
.Offset(, 10).Value = Sheets("input").Cells(rData, 15).Value
.Offset(, 11).Value = Sheets("input").Cells(rData, 17).Value

If Sheets("Input").Cells(rData, c) = "D/K" Then

.Offset(, 3).Value = Sheets("Input").Cells(rData, 9).Value
.Offset(, 4).Value = Sheets("Input").Cells(rData, 9).Value

ElseIf Sheets("Input").Cells(rData, c) = "D" Then

.Offset(, 3).Value = Sheets("Input").Cells(rData, 9).Value
.Offset(, 4).Value = 0

Else

.Offset(, 3).Value = 0
.Offset(, 4).Value = Sheets("Input").Cells(rData, 9).Value

End If

If ActiveCell.Row = 11 Then

Saldo = Range("g7").Value + Range("e11").Value - Range("f11").Value

Else

Saldo = .Offset(-1, 5).Value + .Offset(, 3).Value - .Offset(, 4).Value

End If

Range("g8").Value = Saldo
.Offset(, 5).Value = Saldo

End With

End If

Sheets("Input").Select

Next c

Next cTgl

Application.ScreenUpdating = True


End Sub

Sub Pajak()
Dim hdTgl, rgTgl, cTgl As Range
Dim rData, c As Long
Dim NamaSheet As String
Dim Saldo As Double

Sheets("pajak").Select
Range(Range("b11"), Range("b11").End(xlDown).End(xlToRight)).ClearContents
Range(Range("g8"), Range("g8")).ClearContents
Application.ScreenUpdating = False

Sheets("Input").Select

Set hdTgl = Sheets("Input").Range("b8")
Set rgTgl = Range(hdTgl.Offset(1, 0), hdTgl.End(xlDown))

For Each cTgl In rgTgl

rData = cTgl.Row

For c = 29 To 29

If Cells(rData, c).Value <> 0 Then


NamaSheet = Cells(7, c).Value
Sheets(NamaSheet).Select
Range("b10").Select

If ActiveCell.Offset(1, 0) = "" Then

ActiveCell.Offset(1, 0).Select
ActiveCell.Offset(, 1).Value = Sheets("Input").Cells(rData, 3).Value

Else

ActiveCell.End(xlDown).Offset(1, 0).Select
ActiveCell.Offset(, 1).Value = Sheets("Input").Cells(rData, 3).Value

End If


Dim rng As Range, lRec As Long '<<<<<<<<< Baru untuk bpp
Set rng = Sheet10.Range("b10").CurrentRegion '<<<<<<< baru
With rng
lRec = .Rows.Count - 1
If lRec > 0 Then
With .Resize(lRec, 1).Offset(1, 8)
.Formula = "=IF(""PPh 21""=VLOOKUP(C11,Input!$C$10:$AC$2494,6,FALSE),E11-F11,0)"
.Parent.Calculate
.Value = .Value
End With
With .Resize(lRec, 1).Offset(1, 9)
.Formula = "=IF(""PPh 22""=VLOOKUP(C11,Input!$C$10:$AC$2494,6,FALSE),E11-F11,0)"
.Parent.Calculate
.Value = .Value
End With
With .Resize(lRec, 1).Offset(1, 10)
.Formula = "=IF(""PPh 23""=VLOOKUP(C11,Input!$C$10:$AC$2494,6,FALSE),E11-F11,0)"
.Parent.Calculate
.Value = .Value
End With
With .Resize(lRec, 1).Offset(1, 11)
.Formula = "=IF(""PPN""=VLOOKUP(C11,Input!$C$10:$AC$2494,6,FALSE),E11-F11,0)"
.Parent.Calculate
.Value = .Value
End With
With .Resize(lRec, 1).Offset(1, 12)
.Formula = "=IF(""PPh Ps 4 ayt 2""=VLOOKUP(C11,Input!$C$10:$AC$2494,6,FALSE),E11-F11,0)"
.Parent.Calculate
.Value = .Value
End With
End If
End With



With ActiveCell

.Value = Sheets("Input").Cells(rData, 2).Value
.Offset(, 2).Value = Sheets("Input").Cells(rData, 5).Value
'.Offset(, 8).Value = Sheets("input").Cells(rData, 10).Value
'.Offset(, 9).Value = Sheets("input").Cells(rData, 11).Value
'.Offset(, 10).Value = Sheets("input").Cells(rData, 13).Value
'.Offset(, 11).Value = Sheets("input").Cells(rData, 15).Value
'.Offset(, 12).Value = Sheets("input").Cells(rData, 17).Value

If Sheets("Input").Cells(rData, c) = "D/K" Then

.Offset(, 3).Value = Sheets("Input").Cells(rData, 9).Value
.Offset(, 4).Value = Sheets("Input").Cells(rData, 9).Value

ElseIf Sheets("Input").Cells(rData, c) = "D" Then

.Offset(, 3).Value = Sheets("Input").Cells(rData, 9).Value
.Offset(, 4).Value = 0

Else

.Offset(, 3).Value = 0
.Offset(, 4).Value = Sheets("Input").Cells(rData, 9).Value

End If


If ActiveCell.Row = 11 Then

Saldo = Range("g7").Value + Range("e11").Value - Range("f11").Value

Else

Saldo = .Offset(-1, 5).Value + .Offset(, 3).Value - .Offset(, 4).Value

End If

Range("g8").Value = Saldo
.Offset(, 5).Value = Saldo

End With

End If

Sheets("Input").Select

Next c

Next cTgl

Application.ScreenUpdating = True
End Sub


GROUP FOOTER MESSAGE
---------------------------------------------------------------------
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