Hai Agung, 1. tapi kok value nya bukan dalam format jam seperti yang saya inginkan ya. >> Pastikan tipe data penyimpan nilai HH atau MM adalag Long atau Integer (misal lHH atau lMM) >> Pastikan penyimpan nilai hasil penyusunan data waktu adalah datetime (misal dtMasuk atau dtKeluar) >> Seluruh cell di sheet hasil di-format number lebih dulu
2. untuk kolom keterangan juga jika valuenya kosong malah tertulis nilai 0 >> lakukan cek terhadap panjang isi cell keterangan saat ambil data. Jika tidak ada data, maka ndak perlu ambil nilai dan set sKet agar berisi NULLSTRING >> lakukan juga cek saat akan tulis data keterangan ke cell keterangan. Jika variabel sKet ada datanya, baru tulis ke cell tujuan penulisan keterangan 3. bedanya For Next dengan for each next apa ya >> For Next adalah loop mengikuti suatu series angka tertentu dari nilai sekian sampai sekiun. Nilai loopnya adalah bilangan. >> For each Next adalah loop pada setiap item array atau object dari suatu variabel array atau kumpulan object. Nilai loopnya adalah item array atau object Wassalam, Kid. 2013/3/4 agung aldhino <[email protected]> > ** > > > sesuai sengan pengarahan dari Mr. Kid > saya sudah mencabanya. data berhasil masuk ke masing2 kolom. > tapi kok value nya bukan dalam format jam seperti yang saya inginkan ya. > untuk kolom keterangan juga jika valuenya kosong malah tertulis nilai 0. > hehehe.... adakah yang salah dengan code saya Mr. Kid??? > oh ya bedanya For Next dengan for each next apa ya mr. kid > > wassalam > agung > > *Dari:* Mr. Kid <[email protected]> > *Kepada:* [email protected] > *Dikirim:* Sabtu, 2 Maret 2013 20:40 > > *Judul:* Re: [belajar-excel] Input Data Absensi > ** > > Oh berarti tetap harus berbentuk output sekaligus dan bukan untuk > membentuk sumber data. > > 1. Coba pelajari loop dengan For Next dan For Each Next > 2. Dibutuhkan 2 loop, yaitu : > >> A. loop terhadap daftar nama di sheet input dengan For Each Next > >> B. loop terhadap daftar tanggal di sheet input yaitu For Next > 3. Loop B ada didalam loop A > for each variabel_range in range_daftar_nama_input 'ini loop A > for lDay=0 to 5 'ada 6 hari input -> loop B > 'proses ambil nilai disini > > 'cek masuk lalu susun datetime masuk > 'cek keluar lalu susun datetime keluar > > 'simpan lokasi baris penulisan dengan Find tanggal di > kolom A sheet hasil > 'simpan lokasi kolom penulisan dengan Find kode di > baris 1 sheet hasil > > 'tulis semua data (1 paket berisi 1 baris x 3 kolom > data) > next lDay > next variabel_range > > 4. dari nama (variabel_range) untuk mendapatkan nilai kolom HH Masuk > setiap day membutuhkan Offset kolom sebanyak lDay*5 + 1 > variabel_range.offset( 0 , lDay*5 + 1 ) > > artinya, untuk mendapatkan nilai kolom MM Masuk adalah + 2, HH Keluar > adalah +3 dst sampai keterangan > > 5. Simpan semua data (dari HH Masuk sampai Ket) kedalam 5 variabel, misal > lHHMasuk,lMMMasuk,lHHKeluar,lMMKeluar,sKet > seperti : > lHHMasuk=variabel_range.offset( 0 , lDay*5 + 1 ).value > 6. Proses ini diletakkan didalam loop B. > 7. usai proses ambil nilai, maka diperlukan cek terhadap data nilai lHH > dan lMM baik masuk atau keluar agar pasti bisa dibentuk menjadi data > bertipe datetime > 8. jika hasil cek OK, maka disusunlah data bertipe datetime dan disimpan > dalam variabel tertentu. > Misal, untuk datetime masuk disimpan di variabel bernama dtMasuk dan > bisa didapat dengan : > dtMasuk=timevalue( lHHMasuk & ":" & lMMMasuk & ":00" ) > 9. langkah berikutnya adalah menyimpan nomor baris Excel (Excel Row) > lokasi tanggal input di kolom A sheet hasil dan nomor kolom Excel (Excel > Column) lokasi kode karyawan di baris 1 sheet hasil > 10. tulis semua data (dtMasuk,dtKeluar, dan sKet -> 1 paket data) ke cell > yang diketahui nomor baris Excel dan nomor kolom Excel tersebut. > Misal untuk Data Masuk (dtMasuk) > sheets("nama sheet output").cells( lBarisExcel , lKolomExcel > ).value = dtmasuk > Misal untuk Data Keluar (dtKeluar) > sheets("nama sheet output").cells( lBarisExcel , lKolomExcel + > 1 ).value = dtmasuk > > Selamat mencoba. > > Wassalam, > Kid. > > 2013/3/2 agung aldhino <[email protected]>** > > ** > > Terima kasih Mr. Kid > File yang dikirim sudah saya coba. tapi masih kurang. karena data masih > bisa double jika kita input lagi data pada tanggal yang sama. > saya sudah coba membuat dengan macro. tapi masih error, karena menggunakan > For .... Next. > sebelumnya tidak menggunakan for...next bisa. tapi kode VBA nya terlalu > panjang. > jadi tadinya sengaja ingin menggunakan for....Next untuk membuat kode VBA > nya lebih simple. > pada intinya saya ingin membuat kode VBA nya tanpa adanya sheet atau cell > bantuan. > hehehehe.... soalnya jika dipikir pakai logika harusnya bisa. cuma sayang > saya masih belum paham dengan bahasa VBA. > saya pikir dengan VBA segala hal yang kita pikir mustahil sepertinya bisa > dilakukan asal kita paham dan punya kemauan untuk berkreasi dengan bahasa > VBA nya... > jadi mungkin ada master excel yang bisa membantu permasalahan ini. > > Wassalam, > Agung > > *Dari:* Mr. Kid <[email protected]>***Kepada:* > [email protected] ** > *Dikirim:* Kamis, 28 Februari 2013 18:24 > ***Judul:* Re: [belajar-excel] Input Data Absensi** > ** > > Coba file terlampir yang menggunakan tabel bantu penyusun data.**Susunan > sheet data dipilih yang berorientasi vertikal**Sheet Database Absensi > lebih layak disebut salah satu bentuk output yang bisa disusun menggunakan > formula.****Wassalam,**Kid.**** > > ** > **** > > >

