14 New Messages
Digest #1814
6a
Bls: [belajar-excel] compare data dengan external input barcode scan by "ngademin Thohari" ngademinth
Messages
Sat Sep 29, 2012 10:42 am (PDT) . Posted by:
"Harry" hariansyahptk
Dear BeExceller,
Bp. Aji Mumpung
Terima kasih atas berkenan rumusnya.
Rumus yang telah diberikan sudah saya tuangkan dalam User Form yang saya maksudkan.
Tapi dari rumus tersebut masih ada beberapa ERROR sebagaimana terlampir file-nya.
Mohon berkenan koreksinya.
Terima kasih,
Harry
N/B:
Pada Sheet1 dan Sheet2 tsb bisa atau tidak saya tambahkan proteksi dengan cara Unprotect & Protect...???
________________________________
Dari: aji mumpung <pupung1986@gmail.com >
Kepada: belajar-excel@yahoogroups.com
Dikirim: Kamis, 27 September 2012 13:46
Judul: Re: [belajar-excel] INPUT, EDIT & PINDAH TABEL
Hai pak Harry,
algoritma pemrograman yang telah disampaikan oleh Mr.Kid ---kalo kata pak presiden "Sudah Terang Benderang"---, jadi seYogya-nya (gak ada se-Jakarta ya) jika script vba tersebut adalah hasil kreasi anda sendiri.. seharusnya dengan mudah anda menuangkannya ke dalam user form.. ^_^
kalo untuk saya yang masih pemula sekali, lebih mudah menulis script dari awal dibandingkan menelusuri logika pemrograman yang sudah ada.. ---mungkin sama dengan tukang bangunan.. dari pada disuruh ngerombak rumah yang sudah jadi mendingan milih ngebangun dari awal--- ini hanya pendapat pribadi ya.. ^_^
tapi...(ada tapinya nih..) saya coba bantu untuk solusi editnya saja ya.. ^_^
Dim r As Long
' cek dahulu, apakah data ada yang kosong atau tidak
' jika ada yang kosong maka kasih tau usernya buat ngisi yang masih kosong
If txtALAMAT = "" Or txtJURUSAN = "" Or txtTGLDAFTAR = "" Or txtTGLTES = "" Or _
txtLblUser = "" Or txtTGLINPUT = "" Then
MsgBox "Input dulu yang kosong ya...", vbOKOnly, "Iseng aja luh.. ^_^"
Exit Sub
End If
' cek lagi apakah ada perubahan data apa nggak, kalo nggak ada
' ya ngapain juga nulis data ke database.. cape-capein aja ^_^
r = Cbonama.ListIndex + 2
If MemMaster(r, 3) <> txtALAMAT Then
Sheets("sheet1").Cells(r, 3).Value = txtALAMAT
End If
If MemMaster(r, 4) <> txtJURUSAN Then
Sheets("sheet1").Cells(r, 4).Value = txtJURUSAN
End If
If MemMaster(r, 5) <> txtTGLDAFTAR Then
Sheets("sheet1").Cells(r, 5).Value = txtTGLDAFTAR
End If
If MemMaster(r, 6) <> txtTGLTES Then
Sheets("sheet1").Cells(r, 6).Value = Format(txtTGLTES, "dd-mm-yyyy")
End If
If MemMaster(r, 7) <> txtLblUser Then
Sheets("sheet1").Cells(r, 3).Value = txtLblUser
End If
If MemMaster(r, 8) <> txtTGLINPUT Then
Sheets("sheet1").Cells(r, 8).Value = Format(txtTGLINPUT, "dd-mm-yyyy")
End If
Cbonama.Value = ""
txtALAMAT.Value = ""
txtJURUSAN.Value = ""
txtTGLDAFTAR.Value = ""
txtTGLTES.Value = ""
txtLblUser.Value = ""
txtTGLINPUT.Value = ""
script yang buat pindah datanya mana??? ---nanti ya, masih harus nyari rumput buat kasih makan kambing dulu, kalo sempet nanti diposting lagi, tapi kalo mau coba ikuti logika pemrograman dari Mr. Kid---
lain kali mbok ya'o kalo kasih nama command button jangan cmdAdd semua.. bingung jadinya @_@
script tersebut ditulis di salah satu command button yang nama-nya sama itu lho..
wassalam,
-aji mumpung- (cah angon seko gunung merbabu)
Pada 26 September 2012 16:38, Harry <hariansyahptk@yahoo.com > menulis:
>
>Dear Mr. Kid,
>
>Terima kasih atas berkenan reply-nya. Tapi dr info tersebut, saya kesulitan dalam menuangkannya dlm User Form yang saya maksudkan.
>
>Mohon berkenan kirimkan contoh User Form-nya seperti yang pernah saya lampirkan.
>
>Terima kasih,
>
>Harry
>
>
>
>
>
>
>________________________________
> Dari: Kid Mr. <mr.nmkid@gmail.com >
>Kepada: belajar-excel@yahoogroups.com
>Dikirim: Selasa, 25 September 2012 22:30
>
>Judul: Re: [belajar-excel] INPUT, EDIT & PINDAH TABEL
>
>
>
>
>Oke.
>
>1. Untuk Add data sudah bisa ya.
>2. Untuk menampilkan data yang akan di edit atau akan di-delete sudah bisa juga bukan. Yang jelas, dalam proses itu, Anda bisa mendapatkan posisi record.
> Posisi record itu yang harus Anda ingat terus, yaitu listindex dari combobox + 1
>3. Untuk proses edit data, ketika tombol save ditekan, harus ada proses :
> >> 1. vallidasi terhadap isi setiap control dalam form, apakah pantas untuk di save atau tidak.
> >> 2. ketika hasil validasi sudah oke dan pantas disimpan, cek setiap isi control dalam form dan bandingkan dengan nilai setiap kolom di baris record tersebut
> Jika berbeda dengan isi di tabel pada baris record itu, salin nilai kolom di record itu ke kolom poin edit record itu juga
> Jika sama, tidak perlu lakukan apapun
> [proses nomor 2 ini adalah pencatatan histori yang Anda inginkan, khusus untuk edit data]
> >> 3. lakukan proses penulisan nilai di setiap control dalam form ke masing-masing kolom yang bersesuaian pada record itu juga.
> >> 4. proses selesai.
>4. Untuk proses pindah data, ketika tombol save ditekan :
> (inti proses adalah salin data record itu ke tabel penampung data yang dihapus, kemudian hapus data di tabel utama pada record itu)
> >> 1. beri konfirmasi terakhir pad user apakah proses akan dilanjutkan
> Jika ya, maka lanjutkan, jika tidak, maka batalkan proses
> >> 2. salin data dari tabel utama di record itu ke tabel penampung di baris baru
> >> 3. hapus data dari tabel utama pada record itu
> contoh untuk hapus data di record ke-3, mulai kolom B sebanyak 1 baris x 10 kolom, dan range di shift ke atas
> range("b4").resize(1,10).delete xlshiftup
> sesuaikan rujukan range("b4").resize(1,10) dengan kebutuhan yang telah diketahui nomor recordnya dari combobox list index (sudah dibahas di atas sana)
> >> 4. proses selesai.
>
>Wassalam,
>Kid.
>
>
>
Bp. Aji Mumpung
Terima kasih atas berkenan rumusnya.
Rumus yang telah diberikan sudah saya tuangkan dalam User Form yang saya maksudkan.
Tapi dari rumus tersebut masih ada beberapa ERROR sebagaimana terlampir file-nya.
Mohon berkenan koreksinya.
Terima kasih,
Harry
N/B:
Pada Sheet1 dan Sheet2 tsb bisa atau tidak saya tambahkan proteksi dengan cara Unprotect & Protect...??
____________
Dari: aji mumpung <pupung1986@gmail.
Kepada: belajar-excel@
Dikirim: Kamis, 27 September 2012 13:46
Judul: Re: [belajar-excel] INPUT, EDIT & PINDAH TABEL
Hai pak Harry,
algoritma pemrograman yang telah disampaikan oleh Mr.Kid ---kalo kata pak presiden "Sudah Terang Benderang"--
kalo untuk saya yang masih pemula sekali, lebih mudah menulis script dari awal dibandingkan menelusuri logika pemrograman yang sudah ada.. ---mungkin sama dengan tukang bangunan.. dari pada disuruh ngerombak rumah yang sudah jadi mendingan milih ngebangun dari awal--- ini hanya pendapat pribadi ya.. ^_^
tapi...(ada tapinya nih..) saya coba bantu untuk solusi editnya saja ya.. ^_^
Dim r As Long
' cek dahulu, apakah data ada yang kosong atau tidak
' jika ada yang kosong maka kasih tau usernya buat ngisi yang masih kosong
If txtALAMAT = "" Or txtJURUSAN = "" Or txtTGLDAFTAR = "" Or txtTGLTES = "" Or _
txtLblUser = "" Or txtTGLINPUT = "" Then
MsgBox "Input dulu yang kosong ya...", vbOKOnly, "Iseng aja luh.. ^_^"
Exit Sub
End If
' cek lagi apakah ada perubahan data apa nggak, kalo nggak ada
' ya ngapain juga nulis data ke database.. cape-capein aja ^_^
r = Cbonama.ListIndex + 2
If MemMaster(r, 3) <> txtALAMAT Then
Sheets("sheet1"
End If
If MemMaster(r, 4) <> txtJURUSAN Then
Sheets("sheet1"
End If
If MemMaster(r, 5) <> txtTGLDAFTAR Then
Sheets("sheet1"
End If
If MemMaster(r, 6) <> txtTGLTES Then
Sheets("sheet1"
End If
If MemMaster(r, 7) <> txtLblUser Then
Sheets("sheet1"
End If
If MemMaster(r, 8) <> txtTGLINPUT Then
Sheets("sheet1"
End If
Cbonama.Value = ""
txtALAMAT.Value = ""
txtJURUSAN.Value = ""
txtTGLDAFTAR.
txtTGLTES.Value = ""
txtLblUser.Value = ""
txtTGLINPUT.
script yang buat pindah datanya mana??? ---nanti ya, masih harus nyari rumput buat kasih makan kambing dulu, kalo sempet nanti diposting lagi, tapi kalo mau coba ikuti logika pemrograman dari Mr. Kid---
lain kali mbok ya'o kalo kasih nama command button jangan cmdAdd semua.. bingung jadinya @_@
script tersebut ditulis di salah satu command button yang nama-nya sama itu lho..
wassalam,
-aji mumpung- (cah angon seko gunung merbabu)
Pada 26 September 2012 16:38, Harry <hariansyahptk@
>
>Dear Mr. Kid,
>
>Terima kasih atas berkenan reply-nya. Tapi dr info tersebut, saya kesulitan dalam menuangkannya dlm User Form yang saya maksudkan.
>
>Mohon berkenan kirimkan contoh User Form-nya seperti yang pernah saya lampirkan.
>
>Terima kasih,
>
>Harry
>
>
>
>
>
>
>___________
> Dari: Kid Mr. <mr.nmkid@gmail.
>Kepada: belajar-excel@
>Dikirim: Selasa, 25 September 2012 22:30
>
>Judul: Re: [belajar-excel] INPUT, EDIT & PINDAH TABEL
>
>
>
>
>Oke.
>
>1. Untuk Add data sudah bisa ya.
>2. Untuk menampilkan data yang akan di edit atau akan di-delete sudah bisa juga bukan. Yang jelas, dalam proses itu, Anda bisa mendapatkan posisi record.
> Posisi record itu yang harus Anda ingat terus, yaitu listindex dari combobox + 1
>3. Untuk proses edit data, ketika tombol save ditekan, harus ada proses :
> >> 1. vallidasi terhadap isi setiap control dalam form, apakah pantas untuk di save atau tidak.
> >> 2. ketika hasil validasi sudah oke dan pantas disimpan, cek setiap isi control dalam form dan bandingkan dengan nilai setiap kolom di baris record tersebut
> Jika berbeda dengan isi di tabel pada baris record itu, salin nilai kolom di record itu ke kolom poin edit record itu juga
> Jika sama, tidak perlu lakukan apapun
> [proses nomor 2 ini adalah pencatatan histori yang Anda inginkan, khusus untuk edit data]
> >> 3. lakukan proses penulisan nilai di setiap control dalam form ke masing-masing kolom yang bersesuaian pada record itu juga.
> >> 4. proses selesai.
>4. Untuk proses pindah data, ketika tombol save ditekan :
> (inti proses adalah salin data record itu ke tabel penampung data yang dihapus, kemudian hapus data di tabel utama pada record itu)
> >> 1. beri konfirmasi terakhir pad user apakah proses akan dilanjutkan
> Jika ya, maka lanjutkan, jika tidak, maka batalkan proses
> >> 2. salin data dari tabel utama di record itu ke tabel penampung di baris baru
> >> 3. hapus data dari tabel utama pada record itu
> contoh untuk hapus data di record ke-3, mulai kolom B sebanyak 1 baris x 10 kolom, dan range di shift ke atas
> range("b4").
> sesuaikan rujukan range("b4").
> >> 4. proses selesai.
>
>Wassalam,
>Kid.
>
>
>
Sat Sep 29, 2012 8:21 pm (PDT) . Posted by:
"Kid Mr." nmkid.family@ymail.com
Ikutan...
1. Kolom Nama Tidak Bisa Di Revisi
>> pada setiap form, buat deklarasi pada level form (bukan dalam setiap
prosedur)
private lIdx as long
>> pada event change combobox tambahkan :
if namacombonya.listindex<>-1 then
lidx=namacombonya.listindex
endif
>> pada event click tombol save di bagian tulis nama, hapus yang lama dan
ganti dengan :
if memmaster.resize(1,1).offset(lidx,1).value <>
namacombonya.list(lidx) then
memmaster.resize(1,1).offset(lidx,1).value=namacombonya.list(lidx)
endif
2. Pada Kolom Nama Baris Paling Bawah, Jika Di Revisi Kolom Jurusan
Otomatis Mengcopy Pada Kolom Petugas Input
>> perbaiki di event click tombol save pada bagian dibawah ini, yang benar
siapa yang harus ambil txtJurusan :
If MemMaster(r, 4) <> txtJURUSAN Then
Sheets("sheet1").Cells(r, 4).Value = txtJURUSAN.text
End If
If MemMaster(r, 7) <> txtPETUGASINPUT Then
Sheets("sheet1").Cells(r, 7).Value = txtJURUSAN.text
End If
biasakan gunkan propertinya seperti txtJURUSAN.text dan bukan hanya
txtJURUSAN walau defaultnya memang textbox selalu mengambil properti text.
hal ini akan memudahkan migrasi dari satu bahasa program ke bahasa
program lainnya.
3. Hasil Revisi Sering Nyasar Pada Baris Pertama (Pada Kolom Judul)
>> karena ada pengubahan text pada combobox, maka nilai r =
Cbonama.ListIndex + 2 tidak merujuk dengan benar. Oleh sebab itu dibutuhkan
proses penyimpanan nilai listindex disebuah variabel berlevel module atau
form seperti di nomor 1 di atas.
4. Tanggal Revisi Tidak Match Dengan Tanggal Hari Ini (Tidak Update)
>> isi tanggal revisi dengan nilai tanggal hari ini dengan fungsi *Date*
alamatrangenya.value=*Date*
jika ingin hasilnya bertipe teks, lakukan format terhadap *Date* dengan
fungsi format.
5. Jika Ada Proses Pemindahan, Data Yang Ada Pada Sheet1 Tidak Otomatis
Dihapus
>> setelah salin data ke sheet lokasi pindah, lakukan hapus range dengan
shift up pada sheet1
sheet1.range(sekian sampai sekian).delete xlshiftup
'sesuaikan rujukan range yang bunyisa sekian sampai sekian agar persis
sesuai kebutuhan
6. Jika Ada Proses Pemindahan, Pada Sheet2 Kolom Petugas Input Dan Tanggal
Input Tidak Terdeteksi
>> sebelum dipindah ke sheet2, di sheet1 tulis dulu nilainya sesuai
keinginan pada kolom yang bersesuaian dengan nilai yang paling anda anggap
tepat. Setelah itu baru lakukan proses penyalinan ke sheet2 dilanjutkan
proses penghapusan dari sheet1 (proses penghapusan seperti nomor 5)
Wassalam,
Kid.
2012/9/30 Harry <hariansyahptk@yahoo.com >
> **
>
>
> Dear BeExceller,
> Bp. Aji Mumpung
>
> Terima kasih atas berkenan rumusnya.
> Rumus yang telah diberikan sudah saya tuangkan dalam User Form yang saya
> maksudkan.
> Tapi dari rumus tersebut masih ada beberapa ERROR sebagaimana terlampir
> file-nya.
>
> Mohon berkenan koreksinya.
>
> Terima kasih,
>
>
> Harry
>
> N/B:
> Pada Sheet1 dan Sheet2 tsb bisa atau tidak saya tambahkan proteksi dengan
> cara Unprotect & Protect...???
> ------------------------------
> *Dari:* aji mumpung <pupung1986@gmail.com >
> *Kepada:* belajar-excel@yahoogroups.com
> *Dikirim:* Kamis, 27 September 2012 13:46
>
> *Judul:* Re: [belajar-excel] INPUT, EDIT & PINDAH TABEL
>
>
> Hai pak Harry,
>
> algoritma pemrograman yang telah disampaikan oleh Mr.Kid ---kalo kata pak
> presiden "Sudah Terang Benderang"---, jadi seYogya-nya (gak ada se-Jakarta
> ya) jika script vba tersebut adalah hasil kreasi anda sendiri.. seharusnya
> dengan mudah anda menuangkannya ke dalam user form.. ^_^
>
> kalo untuk saya yang masih pemula sekali, lebih mudah menulis script dari
> awal dibandingkan menelusuri logika pemrograman yang sudah ada.. ---mungkin
> sama dengan tukang bangunan.. dari pada disuruh ngerombak rumah yang sudah
> jadi mendingan milih ngebangun dari awal--- ini hanya pendapat pribadi ya..
> ^_^
>
> tapi...(ada tapinya nih..) saya coba bantu untuk solusi editnya saja ya..
> ^_^
>
> Dim r As Long
>
> ' cek dahulu, apakah data ada yang kosong atau tidak
> ' jika ada yang kosong maka kasih tau usernya buat ngisi yang masih
> kosong
> If txtALAMAT = "" Or txtJURUSAN = "" Or txtTGLDAFTAR = "" Or txtTGLTES
> = "" Or _
> txtLblUser = "" Or txtTGLINPUT = "" Then
> MsgBox "Input dulu yang kosong ya...", vbOKOnly, "Iseng aja luh..
> ^_^"
> Exit Sub
> End If
>
> ' cek lagi apakah ada perubahan data apa nggak, kalo nggak ada
> ' ya ngapain juga nulis data ke database.. cape-capein aja ^_^
> r = Cbonama.ListIndex + 2
> If MemMaster(r, 3) <> txtALAMAT Then
> Sheets("sheet1").Cells(r, 3).Value = txtALAMAT
> End If
> If MemMaster(r, 4) <> txtJURUSAN Then
> Sheets("sheet1").Cells(r, 4).Value = txtJURUSAN
> End If
> If MemMaster(r, 5) <> txtTGLDAFTAR Then
> Sheets("sheet1").Cells(r, 5).Value = txtTGLDAFTAR
> End If
> If MemMaster(r, 6) <> txtTGLTES Then
> Sheets("sheet1").Cells(r, 6).Value = Format(txtTGLTES,
> "dd-mm-yyyy")
> End If
> If MemMaster(r, 7) <> txtLblUser Then
> Sheets("sheet1").Cells(r, 3).Value = txtLblUser
> End If
> If MemMaster(r, 8) <> txtTGLINPUT Then
> Sheets("sheet1").Cells(r, 8).Value = Format(txtTGLINPUT,
> "dd-mm-yyyy")
> End If
>
> Cbonama.Value = ""
> txtALAMAT.Value = ""
> txtJURUSAN.Value = ""
> txtTGLDAFTAR.Value = ""
> txtTGLTES.Value = ""
> txtLblUser.Value = ""
> txtTGLINPUT.Value = ""
>
> script yang buat pindah datanya mana??? ---nanti ya, masih harus nyari
> rumput buat kasih makan kambing dulu, kalo sempet nanti diposting lagi,
> tapi kalo mau coba ikuti logika pemrograman dari Mr. Kid---
>
> lain kali mbok ya'o kalo kasih nama command button jangan cmdAdd semua..
> bingung jadinya @_@
>
> script tersebut ditulis di salah satu command button yang nama-nya sama
> itu lho..
>
> wassalam,
>
> -aji mumpung- (cah angon seko gunung merbabu)
>
> Pada 26 September 2012 16:38, Harry <hariansyahptk@yahoo.com > menulis:
>
> **
>
> Dear Mr. Kid,
>
> Terima kasih atas berkenan reply-nya. Tapi dr info tersebut, saya
> kesulitan dalam menuangkannya dlm User Form yang saya maksudkan.
>
> Mohon berkenan kirimkan contoh User Form-nya seperti yang pernah saya
> lampirkan.
>
> Terima kasih,
>
> Harry
>
>
> ------------------------------
> *Dari:* Kid Mr. <mr.nmkid@gmail.com >
> *Kepada:* belajar-excel@yahoogroups.com
> *Dikirim:* Selasa, 25 September 2012 22:30
>
> *Judul:* Re: [belajar-excel] INPUT, EDIT & PINDAH TABEL
>
>
> Oke.
>
> 1. Untuk Add data sudah bisa ya.
> 2. Untuk menampilkan data yang akan di edit atau akan di-delete sudah bisa
> juga bukan. Yang jelas, dalam proses itu, Anda bisa mendapatkan posisi
> record.
> *Posisi record itu* yang harus Anda ingat terus, yaitu *listindex
> dari combobox + 1*
> 3. Untuk proses edit data, ketika tombol save ditekan, harus ada proses :
> >> 1. vallidasi terhadap isi setiap control dalam form, apakah pantas
> untuk di save atau tidak.
> >> 2. ketika hasil validasi sudah oke dan pantas disimpan, cek setiap
> isi control dalam form dan bandingkan dengan nilai setiap kolom di baris
> record tersebut
> Jika berbeda dengan isi di tabel pada baris record itu,
> salin nilai kolom di record itu ke kolom poin edit record itu juga
> Jika sama, tidak perlu lakukan apapun
> [proses nomor 2 ini adalah pencatatan histori yang Anda
> inginkan, khusus untuk edit data]
> >> 3. lakukan proses penulisan nilai di setiap control dalam form ke
> masing-masing kolom yang bersesuaian pada record itu juga.
> >> 4. proses selesai.
> 4. Untuk proses pindah data, ketika tombol save ditekan :
> (inti proses adalah salin data record itu ke tabel penampung data yang
> dihapus, kemudian hapus data di tabel utama pada record itu)
> >> 1. beri konfirmasi terakhir pad user apakah proses akan dilanjutkan
> Jika ya, maka lanjutkan, jika tidak, maka batalkan proses
> >> 2. salin data dari tabel utama di record itu ke tabel penampung di
> baris baru
> >> 3. hapus data dari tabel utama pada record itu
> contoh untuk hapus data di record ke-3, mulai kolom B
> sebanyak 1 baris x 10 kolom, dan range di shift ke atas
> range("b4").resize(1,10).delete xlshiftup
> sesuaikan rujukan range("b4").resize(1,10) dengan kebutuhan
> yang telah diketahui nomor recordnya dari combobox list index (sudah
> dibahas di atas sana)
> >> 4. proses selesai.
>
> Wassalam,
> Kid.
>
>
>
>
>
>
1. Kolom Nama Tidak Bisa Di Revisi
>> pada setiap form, buat deklarasi pada level form (bukan dalam setiap
prosedur)
private lIdx as long
>> pada event change combobox tambahkan :
if namacombonya.
lidx=namacombonya.
endif
>> pada event click tombol save di bagian tulis nama, hapus yang lama dan
ganti dengan :
if memmaster.resize(
namacombonya.
memmaster.resize(
endif
2. Pada Kolom Nama Baris Paling Bawah, Jika Di Revisi Kolom Jurusan
Otomatis Mengcopy Pada Kolom Petugas Input
>> perbaiki di event click tombol save pada bagian dibawah ini, yang benar
siapa yang harus ambil txtJurusan :
If MemMaster(r, 4) <> txtJURUSAN Then
Sheets("sheet1"
End If
If MemMaster(r, 7) <> txtPETUGASINPUT Then
Sheets("sheet1"
End If
biasakan gunkan propertinya seperti txtJURUSAN.text dan bukan hanya
txtJURUSAN walau defaultnya memang textbox selalu mengambil properti text.
hal ini akan memudahkan migrasi dari satu bahasa program ke bahasa
program lainnya.
3. Hasil Revisi Sering Nyasar Pada Baris Pertama (Pada Kolom Judul)
>> karena ada pengubahan text pada combobox, maka nilai r =
Cbonama.ListIndex + 2 tidak merujuk dengan benar. Oleh sebab itu dibutuhkan
proses penyimpanan nilai listindex disebuah variabel berlevel module atau
form seperti di nomor 1 di atas.
4. Tanggal Revisi Tidak Match Dengan Tanggal Hari Ini (Tidak Update)
>> isi tanggal revisi dengan nilai tanggal hari ini dengan fungsi *Date*
alamatrangenya.
jika ingin hasilnya bertipe teks, lakukan format terhadap *Date* dengan
fungsi format.
5. Jika Ada Proses Pemindahan, Data Yang Ada Pada Sheet1 Tidak Otomatis
Dihapus
>> setelah salin data ke sheet lokasi pindah, lakukan hapus range dengan
shift up pada sheet1
sheet1.range(
'sesuaikan rujukan range yang bunyisa sekian sampai sekian agar persis
sesuai kebutuhan
6. Jika Ada Proses Pemindahan, Pada Sheet2 Kolom Petugas Input Dan Tanggal
Input Tidak Terdeteksi
>> sebelum dipindah ke sheet2, di sheet1 tulis dulu nilainya sesuai
keinginan pada kolom yang bersesuaian dengan nilai yang paling anda anggap
tepat. Setelah itu baru lakukan proses penyalinan ke sheet2 dilanjutkan
proses penghapusan dari sheet1 (proses penghapusan seperti nomor 5)
Wassalam,
Kid.
2012/9/30 Harry <hariansyahptk@
> **
>
>
> Dear BeExceller,
> Bp. Aji Mumpung
>
> Terima kasih atas berkenan rumusnya.
> Rumus yang telah diberikan sudah saya tuangkan dalam User Form yang saya
> maksudkan.
> Tapi dari rumus tersebut masih ada beberapa ERROR sebagaimana terlampir
> file-nya.
>
> Mohon berkenan koreksinya.
>
> Terima kasih,
>
>
> Harry
>
> N/B:
> Pada Sheet1 dan Sheet2 tsb bisa atau tidak saya tambahkan proteksi dengan
> cara Unprotect & Protect...??
> ------------
> *Dari:* aji mumpung <pupung1986@gmail.
> *Kepada:* belajar-excel@
> *Dikirim:* Kamis, 27 September 2012 13:46
>
> *Judul:* Re: [belajar-excel] INPUT, EDIT & PINDAH TABEL
>
>
> Hai pak Harry,
>
> algoritma pemrograman yang telah disampaikan oleh Mr.Kid ---kalo kata pak
> presiden "Sudah Terang Benderang"--
> ya) jika script vba tersebut adalah hasil kreasi anda sendiri.. seharusnya
> dengan mudah anda menuangkannya ke dalam user form.. ^_^
>
> kalo untuk saya yang masih pemula sekali, lebih mudah menulis script dari
> awal dibandingkan menelusuri logika pemrograman yang sudah ada.. ---mungkin
> sama dengan tukang bangunan.. dari pada disuruh ngerombak rumah yang sudah
> jadi mendingan milih ngebangun dari awal--- ini hanya pendapat pribadi ya..
> ^_^
>
> tapi...(ada tapinya nih..) saya coba bantu untuk solusi editnya saja ya..
> ^_^
>
> Dim r As Long
>
> ' cek dahulu, apakah data ada yang kosong atau tidak
> ' jika ada yang kosong maka kasih tau usernya buat ngisi yang masih
> kosong
> If txtALAMAT = "" Or txtJURUSAN = "" Or txtTGLDAFTAR = "" Or txtTGLTES
> = "" Or _
> txtLblUser = "" Or txtTGLINPUT = "" Then
> MsgBox "Input dulu yang kosong ya...", vbOKOnly, "Iseng aja luh..
> ^_^"
> Exit Sub
> End If
>
> ' cek lagi apakah ada perubahan data apa nggak, kalo nggak ada
> ' ya ngapain juga nulis data ke database.. cape-capein aja ^_^
> r = Cbonama.ListIndex + 2
> If MemMaster(r, 3) <> txtALAMAT Then
> Sheets("sheet1"
> End If
> If MemMaster(r, 4) <> txtJURUSAN Then
> Sheets("sheet1"
> End If
> If MemMaster(r, 5) <> txtTGLDAFTAR Then
> Sheets("sheet1"
> End If
> If MemMaster(r, 6) <> txtTGLTES Then
> Sheets("sheet1"
> "dd-mm-yyyy"
> End If
> If MemMaster(r, 7) <> txtLblUser Then
> Sheets("sheet1"
> End If
> If MemMaster(r, 8) <> txtTGLINPUT Then
> Sheets("sheet1"
> "dd-mm-yyyy"
> End If
>
> Cbonama.Value = ""
> txtALAMAT.Value = ""
> txtJURUSAN.Value = ""
> txtTGLDAFTAR.
> txtTGLTES.Value = ""
> txtLblUser.Value = ""
> txtTGLINPUT.
>
> script yang buat pindah datanya mana??? ---nanti ya, masih harus nyari
> rumput buat kasih makan kambing dulu, kalo sempet nanti diposting lagi,
> tapi kalo mau coba ikuti logika pemrograman dari Mr. Kid---
>
> lain kali mbok ya'o kalo kasih nama command button jangan cmdAdd semua..
> bingung jadinya @_@
>
> script tersebut ditulis di salah satu command button yang nama-nya sama
> itu lho..
>
> wassalam,
>
> -aji mumpung- (cah angon seko gunung merbabu)
>
> Pada 26 September 2012 16:38, Harry <hariansyahptk@
>
> **
>
> Dear Mr. Kid,
>
> Terima kasih atas berkenan reply-nya. Tapi dr info tersebut, saya
> kesulitan dalam menuangkannya dlm User Form yang saya maksudkan.
>
> Mohon berkenan kirimkan contoh User Form-nya seperti yang pernah saya
> lampirkan.
>
> Terima kasih,
>
> Harry
>
>
> ------------
> *Dari:* Kid Mr. <mr.nmkid@gmail.
> *Kepada:* belajar-excel@
> *Dikirim:* Selasa, 25 September 2012 22:30
>
> *Judul:* Re: [belajar-excel] INPUT, EDIT & PINDAH TABEL
>
>
> Oke.
>
> 1. Untuk Add data sudah bisa ya.
> 2. Untuk menampilkan data yang akan di edit atau akan di-delete sudah bisa
> juga bukan. Yang jelas, dalam proses itu, Anda bisa mendapatkan posisi
> record.
> *Posisi record itu* yang harus Anda ingat terus, yaitu *listindex
> dari combobox + 1*
> 3. Untuk proses edit data, ketika tombol save ditekan, harus ada proses :
> >> 1. vallidasi terhadap isi setiap control dalam form, apakah pantas
> untuk di save atau tidak.
> >> 2. ketika hasil validasi sudah oke dan pantas disimpan, cek setiap
> isi control dalam form dan bandingkan dengan nilai setiap kolom di baris
> record tersebut
> Jika berbeda dengan isi di tabel pada baris record itu,
> salin nilai kolom di record itu ke kolom poin edit record itu juga
> Jika sama, tidak perlu lakukan apapun
> [proses nomor 2 ini adalah pencatatan histori yang Anda
> inginkan, khusus untuk edit data]
> >> 3. lakukan proses penulisan nilai di setiap control dalam form ke
> masing-masing kolom yang bersesuaian pada record itu juga.
> >> 4. proses selesai.
> 4. Untuk proses pindah data, ketika tombol save ditekan :
> (inti proses adalah salin data record itu ke tabel penampung data yang
> dihapus, kemudian hapus data di tabel utama pada record itu)
> >> 1. beri konfirmasi terakhir pad user apakah proses akan dilanjutkan
> Jika ya, maka lanjutkan, jika tidak, maka batalkan proses
> >> 2. salin data dari tabel utama di record itu ke tabel penampung di
> baris baru
> >> 3. hapus data dari tabel utama pada record itu
> contoh untuk hapus data di record ke-3, mulai kolom B
> sebanyak 1 baris x 10 kolom, dan range di shift ke atas
> range("b4").
> sesuaikan rujukan range("b4").
> yang telah diketahui nomor recordnya dari combobox list index (sudah
> dibahas di atas sana)
> >> 4. proses selesai.
>
> Wassalam,
> Kid.
>
>
>
>
>
>
Sun Sep 30, 2012 3:57 am (PDT) . Posted by:
"Harry" hariansyahptk
Dear BeExceller
Mr. Kid
Pertama saya
mengucapkan terima kasih atas berkenan informasinya.
Dari rumus
yang Mr. Kid berikan, sudah saya tuangkan ke User Form. Tapi masih terdapat
beberapa kesalahan dalam proses edit dan pemindahan data dari Sheet1 ke Sheet2.
Adapun beberapa
kesalahan dari rumus yang saya tuangkan ke User Form sudah saya tuliskan pada Lampiran yang saya sertakan.
Besar harapan
kiranya teman-teman BeExceller atau Mr. Kid dapat membantu saya akan hal
tersebut.
Terima kasih
atas bantuannya.
Wassalam,
Harry
N/B:
Jawaban / penjelasan dari Mr. Kid yang No 1, 5 & 6 belum bisa saya tuangkan ke User Form karena masih bingung.
________________________________
Dari: Kid Mr. <mr.nmkid@gmail.com >
Kepada: belajar-excel@yahoogroups.com
Dikirim: Minggu, 30 September 2012 10:21
Judul: Re: [belajar-excel] INPUT, EDIT & PINDAH TABEL
Ikutan...
1. Kolom Nama Tidak Bisa Di Revisi
>> pada setiap form, buat deklarasi pada level form (bukan dalam setiap prosedur)
private lIdx as long
>> pada event change combobox tambahkan :
if namacombonya.listindex<>-1 then
lidx=namacombonya.listindex
endif
>> pada event click tombol save di bagian tulis nama, hapus yang lama dan ganti dengan :
if memmaster.resize(1,1).offset(lidx,1).value <> namacombonya.list(lidx) then
memmaster.resize(1,1).offset(lidx,1).value=namacombonya.list(lidx)
endif
2. Pada Kolom Nama Baris Paling Bawah, Jika Di Revisi Kolom Jurusan Otomatis Mengcopy Pada Kolom Petugas Input
>> perbaiki di event click tombol save pada bagian dibawah ini, yang benar siapa yang harus ambil txtJurusan :
If MemMaster(r, 4) <> txtJURUSAN Then
Sheets("sheet1").Cells(r, 4).Value = txtJURUSAN.text
End If
If MemMaster(r, 7) <> txtPETUGASINPUT Then
Sheets("sheet1").Cells(r, 7).Value = txtJURUSAN.text
End If
biasakan gunkan propertinya seperti txtJURUSAN.text dan bukan hanya txtJURUSAN walau defaultnya memang textbox selalu mengambil properti text.
hal ini akan memudahkan migrasi dari satu bahasa program ke bahasa program lainnya.
3. Hasil Revisi Sering Nyasar Pada Baris Pertama (Pada Kolom Judul)
>> karena ada pengubahan text pada combobox, maka nilai r = Cbonama.ListIndex + 2 tidak merujuk dengan benar. Oleh sebab itu dibutuhkan proses penyimpanan nilai listindex disebuah variabel berlevel module atau form seperti di nomor 1 di atas.
4. Tanggal Revisi Tidak Match Dengan Tanggal Hari Ini (Tidak Update)
>> isi tanggal revisi dengan nilai tanggal hari ini dengan fungsi Date
alamatrangenya.value=Date
jika ingin hasilnya bertipe teks, lakukan format terhadap Date dengan fungsi format.
5. Jika Ada Proses Pemindahan, Data Yang Ada Pada Sheet1 Tidak Otomatis Dihapus
>> setelah salin data ke sheet lokasi pindah, lakukan hapus range dengan shift up pada sheet1
sheet1.range(sekian sampai sekian).delete xlshiftup 'sesuaikan rujukan range yang bunyisa sekian sampai sekian agar persis sesuai kebutuhan
6. Jika Ada Proses Pemindahan, Pada Sheet2 Kolom Petugas Input Dan Tanggal Input Tidak Terdeteksi
>> sebelum dipindah ke sheet2, di sheet1 tulis dulu nilainya sesuai keinginan pada kolom yang bersesuaian dengan nilai yang paling anda anggap tepat. Setelah itu baru lakukan proses penyalinan ke sheet2 dilanjutkan proses penghapusan dari sheet1 (proses penghapusan seperti nomor 5)
Wassalam,
Kid.
2012/9/30 Harry <hariansyahptk@yahoo.com >
>
>Dear BeExceller,
>Bp. Aji Mumpung
>
>
>
>Terima kasih atas berkenan rumusnya.
>Rumus yang telah diberikan sudah saya tuangkan dalam User Form yang saya maksudkan.
>Tapi dari rumus tersebut masih ada beberapa ERROR sebagaimana terlampir file-nya.
>
>
>Mohon berkenan koreksinya.
>
>
>Terima kasih,
>
>
>
>
>Harry
>
>
>N/B:
>Pada Sheet1 dan Sheet2 tsb bisa atau tidak saya tambahkan proteksi dengan cara Unprotect & Protect...???
>
>
>________________________________
> Dari: aji mumpung <pupung1986@gmail.com >
>Kepada: belajar-excel@yahoogroups.com
>Dikirim: Kamis, 27 September 2012 13:46
>
>Judul: Re: [belajar-excel] INPUT, EDIT & PINDAH TABEL
>
>
>
>
>Hai pak Harry,
>
>
>algoritma pemrograman yang telah disampaikan oleh Mr.Kid ---kalo kata pak presiden "Sudah Terang Benderang"---, jadi seYogya-nya (gak ada se-Jakarta ya) jika script vba tersebut adalah hasil kreasi anda sendiri.. seharusnya dengan mudah anda menuangkannya ke dalam user form.. ^_^
>
>
>kalo untuk saya yang masih pemula sekali, lebih mudah menulis script dari awal dibandingkan menelusuri logika pemrograman yang sudah ada.. ---mungkin sama dengan tukang bangunan.. dari pada disuruh ngerombak rumah yang sudah jadi mendingan milih ngebangun dari awal--- ini hanya pendapat pribadi ya.. ^_^
>
>
>tapi...(ada tapinya nih..) saya coba bantu untuk solusi editnya saja ya.. ^_^
>
>
> Dim r As Long
>
> ' cek dahulu, apakah data ada yang kosong atau tidak
> ' jika ada yang kosong maka kasih tau usernya buat ngisi yang masih kosong
> If txtALAMAT = "" Or txtJURUSAN = "" Or txtTGLDAFTAR = "" Or txtTGLTES = "" Or _
> txtLblUser = "" Or txtTGLINPUT = "" Then
> MsgBox "Input dulu yang kosong ya...", vbOKOnly, "Iseng aja luh.. ^_^"
> Exit Sub
> End If
>
> ' cek lagi apakah ada perubahan data apa nggak, kalo nggak ada
> ' ya ngapain juga nulis data ke database.. cape-capein aja ^_^
> r = Cbonama.ListIndex + 2
> If MemMaster(r, 3) <> txtALAMAT Then
> Sheets("sheet1").Cells(r, 3).Value = txtALAMAT
> End If
> If MemMaster(r, 4) <> txtJURUSAN Then
> Sheets("sheet1").Cells(r, 4).Value = txtJURUSAN
> End If
> If MemMaster(r, 5) <> txtTGLDAFTAR Then
> Sheets("sheet1").Cells(r, 5).Value = txtTGLDAFTAR
> End If
> If MemMaster(r, 6) <> txtTGLTES Then
> Sheets("sheet1").Cells(r, 6).Value = Format(txtTGLTES, "dd-mm-yyyy")
> End If
> If MemMaster(r, 7) <> txtLblUser Then
> Sheets("sheet1").Cells(r, 3).Value = txtLblUser
> End If
> If MemMaster(r, 8) <> txtTGLINPUT Then
> Sheets("sheet1").Cells(r, 8).Value = Format(txtTGLINPUT, "dd-mm-yyyy")
> End If
>
>
> Cbonama.Value = ""
> txtALAMAT.Value = ""
> txtJURUSAN.Value = ""
> txtTGLDAFTAR.Value = ""
> txtTGLTES.Value = ""
> txtLblUser.Value = ""
> txtTGLINPUT.Value = ""
>
>
>script yang buat pindah datanya mana??? ---nanti ya, masih harus nyari rumput buat kasih makan kambing dulu, kalo sempet nanti diposting lagi, tapi kalo mau coba ikuti logika pemrograman dari Mr. Kid---
>
>
>lain kali mbok ya'o kalo kasih nama command button jangan cmdAdd semua.. bingung jadinya @_@
>
>
>script tersebut ditulis di salah satu command button yang nama-nya sama itu lho..
>
>
>wassalam,
>
>
>-aji mumpung- (cah angon seko gunung merbabu)
>
>Pada 26 September 2012 16:38, Harry <hariansyahptk@yahoo.com > menulis:
>
>
>>
>>Dear Mr. Kid,
>>
>>Terima kasih atas berkenan reply-nya. Tapi dr info tersebut, saya kesulitan dalam menuangkannya dlm User Form yang saya maksudkan.
>>
>>Mohon berkenan kirimkan contoh User Form-nya seperti yang pernah saya lampirkan.
>>
>>Terima kasih,
>>
>>Harry
>>
>>
>>
>>
>>
>>
>>________________________________
>> Dari: Kid Mr. <mr.nmkid@gmail.com >
>>Kepada: belajar-excel@yahoogroups.com
>>Dikirim: Selasa, 25 September 2012 22:30
>>
>>Judul: Re: [belajar-excel] INPUT, EDIT & PINDAH TABEL
>>
>>
>>
>>
>>Oke.
>>
>>1. Untuk Add data sudah bisa ya.
>>2. Untuk menampilkan data yang akan di edit atau akan di-delete sudah bisa juga bukan. Yang jelas, dalam proses itu, Anda bisa mendapatkan posisi record.
>> Posisi record itu yang harus Anda ingat terus, yaitu listindex dari combobox + 1
>>3. Untuk proses edit data, ketika tombol save ditekan, harus ada proses :
>> >> 1. vallidasi terhadap isi setiap control dalam form, apakah pantas untuk di save atau tidak.
>> >> 2. ketika hasil validasi sudah oke dan pantas disimpan, cek setiap isi control dalam form dan bandingkan dengan nilai setiap kolom di baris record tersebut
>> Jika berbeda dengan isi di tabel pada baris record itu, salin nilai kolom di record itu ke kolom poin edit record itu juga
>> Jika sama, tidak perlu lakukan apapun
>> [proses nomor 2 ini adalah pencatatan histori yang Anda inginkan, khusus untuk edit data]
>> >> 3. lakukan proses penulisan nilai di setiap control dalam form ke masing-masing kolom yang bersesuaian pada record itu juga.
>> >> 4. proses selesai.
>>4. Untuk proses pindah data, ketika tombol save ditekan :
>> (inti proses adalah salin data record itu ke tabel penampung data yang dihapus, kemudian hapus data di tabel utama pada record itu)
>> >> 1. beri konfirmasi terakhir pad user apakah proses akan dilanjutkan
>> Jika ya, maka lanjutkan, jika tidak, maka batalkan proses
>> >> 2. salin data dari tabel utama di record itu ke tabel penampung di baris baru
>> >> 3. hapus data dari tabel utama pada record itu
>> contoh untuk hapus data di record ke-3, mulai kolom B sebanyak 1 baris x 10 kolom, dan range di shift ke atas
>> range("b4").resize(1,10).delete xlshiftup
>> sesuaikan rujukan range("b4").resize(1,10) dengan kebutuhan yang telah diketahui nomor recordnya dari combobox list index (sudah dibahas di atas sana)
>> >> 4. proses selesai.
>>
>>Wassalam,
>>Kid.
>>
>>
>>
>
>
Mr. Kid
Pertama saya
mengucapkan terima kasih atas berkenan informasinya.
Dari rumus
yang Mr. Kid berikan, sudah saya tuangkan ke User Form. Tapi masih terdapat
beberapa kesalahan dalam proses edit dan pemindahan data dari Sheet1 ke Sheet2.
Adapun beberapa
kesalahan dari rumus yang saya tuangkan ke User Form sudah saya tuliskan pada Lampiran yang saya sertakan.
Besar harapan
kiranya teman-teman BeExceller atau Mr. Kid dapat membantu saya akan hal
tersebut.
Terima kasih
atas bantuannya.
Wassalam,
Harry
N/B:
Jawaban / penjelasan dari Mr. Kid yang No 1, 5 & 6 belum bisa saya tuangkan ke User Form karena masih bingung.
____________
Dari: Kid Mr. <mr.nmkid@gmail.
Kepada: belajar-excel@
Dikirim: Minggu, 30 September 2012 10:21
Judul: Re: [belajar-excel] INPUT, EDIT & PINDAH TABEL
Ikutan...
1. Kolom Nama Tidak Bisa Di Revisi
>> pada setiap form, buat deklarasi pada level form (bukan dalam setiap prosedur)
private lIdx as long
>> pada event change combobox tambahkan :
if namacombonya.
lidx=namacombonya.
endif
>> pada event click tombol save di bagian tulis nama, hapus yang lama dan ganti dengan :
if memmaster.resize(
memmaster.resize(
endif
2. Pada Kolom Nama Baris Paling Bawah, Jika Di Revisi Kolom Jurusan Otomatis Mengcopy Pada Kolom Petugas Input
>> perbaiki di event click tombol save pada bagian dibawah ini, yang benar siapa yang harus ambil txtJurusan :
If MemMaster(r, 4) <> txtJURUSAN Then
Sheets("sheet1"
End If
If MemMaster(r, 7) <> txtPETUGASINPUT Then
Sheets("sheet1"
End If
biasakan gunkan propertinya seperti txtJURUSAN.text dan bukan hanya txtJURUSAN walau defaultnya memang textbox selalu mengambil properti text.
hal ini akan memudahkan migrasi dari satu bahasa program ke bahasa program lainnya.
3. Hasil Revisi Sering Nyasar Pada Baris Pertama (Pada Kolom Judul)
>> karena ada pengubahan text pada combobox, maka nilai r = Cbonama.ListIndex + 2 tidak merujuk dengan benar. Oleh sebab itu dibutuhkan proses penyimpanan nilai listindex disebuah variabel berlevel module atau form seperti di nomor 1 di atas.
4. Tanggal Revisi Tidak Match Dengan Tanggal Hari Ini (Tidak Update)
>> isi tanggal revisi dengan nilai tanggal hari ini dengan fungsi Date
alamatrangenya.
jika ingin hasilnya bertipe teks, lakukan format terhadap Date dengan fungsi format.
5. Jika Ada Proses Pemindahan, Data Yang Ada Pada Sheet1 Tidak Otomatis Dihapus
>> setelah salin data ke sheet lokasi pindah, lakukan hapus range dengan shift up pada sheet1
sheet1.range(
6. Jika Ada Proses Pemindahan, Pada Sheet2 Kolom Petugas Input Dan Tanggal Input Tidak Terdeteksi
>> sebelum dipindah ke sheet2, di sheet1 tulis dulu nilainya sesuai keinginan pada kolom yang bersesuaian dengan nilai yang paling anda anggap tepat. Setelah itu baru lakukan proses penyalinan ke sheet2 dilanjutkan proses penghapusan dari sheet1 (proses penghapusan seperti nomor 5)
Wassalam,
Kid.
2012/9/30 Harry <hariansyahptk@
>
>Dear BeExceller,
>Bp. Aji Mumpung
>
>
>
>Terima kasih atas berkenan rumusnya.
>Rumus yang telah diberikan sudah saya tuangkan dalam User Form yang saya maksudkan.
>Tapi dari rumus tersebut masih ada beberapa ERROR sebagaimana terlampir file-nya.
>
>
>Mohon berkenan koreksinya.
>
>
>Terima kasih,
>
>
>
>
>Harry
>
>
>N/B:
>Pada Sheet1 dan Sheet2 tsb bisa atau tidak saya tambahkan proteksi dengan cara Unprotect & Protect...??
>
>
>___________
> Dari: aji mumpung <pupung1986@gmail.
>Kepada: belajar-excel@
>Dikirim: Kamis, 27 September 2012 13:46
>
>Judul: Re: [belajar-excel] INPUT, EDIT & PINDAH TABEL
>
>
>
>
>Hai pak Harry,
>
>
>algoritma pemrograman yang telah disampaikan oleh Mr.Kid ---kalo kata pak presiden "Sudah Terang Benderang"--
>
>
>kalo untuk saya yang masih pemula sekali, lebih mudah menulis script dari awal dibandingkan menelusuri logika pemrograman yang sudah ada.. ---mungkin sama dengan tukang bangunan.. dari pada disuruh ngerombak rumah yang sudah jadi mendingan milih ngebangun dari awal--- ini hanya pendapat pribadi ya.. ^_^
>
>
>tapi...(ada tapinya nih..) saya coba bantu untuk solusi editnya saja ya.. ^_^
>
>
> Dim r As Long
>
> ' cek dahulu, apakah data ada yang kosong atau tidak
> ' jika ada yang kosong maka kasih tau usernya buat ngisi yang masih kosong
> If txtALAMAT = "" Or txtJURUSAN = "" Or txtTGLDAFTAR = "" Or txtTGLTES = "" Or _
> txtLblUser = "" Or txtTGLINPUT = "" Then
> MsgBox "Input dulu yang kosong ya...", vbOKOnly, "Iseng aja luh.. ^_^"
> Exit Sub
> End If
>
> ' cek lagi apakah ada perubahan data apa nggak, kalo nggak ada
> ' ya ngapain juga nulis data ke database.. cape-capein aja ^_^
> r = Cbonama.ListIndex + 2
> If MemMaster(r, 3) <> txtALAMAT Then
> Sheets("sheet1"
> End If
> If MemMaster(r, 4) <> txtJURUSAN Then
> Sheets("sheet1"
> End If
> If MemMaster(r, 5) <> txtTGLDAFTAR Then
> Sheets("sheet1"
> End If
> If MemMaster(r, 6) <> txtTGLTES Then
> Sheets("sheet1"
> End If
> If MemMaster(r, 7) <> txtLblUser Then
> Sheets("sheet1"
> End If
> If MemMaster(r, 8) <> txtTGLINPUT Then
> Sheets("sheet1"
> End If
>
>
> Cbonama.Value = ""
> txtALAMAT.Value = ""
> txtJURUSAN.Value = ""
> txtTGLDAFTAR.
> txtTGLTES.Value = ""
> txtLblUser.Value = ""
> txtTGLINPUT.
>
>
>script yang buat pindah datanya mana??? ---nanti ya, masih harus nyari rumput buat kasih makan kambing dulu, kalo sempet nanti diposting lagi, tapi kalo mau coba ikuti logika pemrograman dari Mr. Kid---
>
>
>lain kali mbok ya'o kalo kasih nama command button jangan cmdAdd semua.. bingung jadinya @_@
>
>
>script tersebut ditulis di salah satu command button yang nama-nya sama itu lho..
>
>
>wassalam,
>
>
>-aji mumpung- (cah angon seko gunung merbabu)
>
>Pada 26 September 2012 16:38, Harry <hariansyahptk@
>
>
>>
>>Dear Mr. Kid,
>>
>>Terima kasih atas berkenan reply-nya. Tapi dr info tersebut, saya kesulitan dalam menuangkannya dlm User Form yang saya maksudkan.
>>
>>Mohon berkenan kirimkan contoh User Form-nya seperti yang pernah saya lampirkan.
>>
>>Terima kasih,
>>
>>Harry
>>
>>
>>
>>
>>
>>
>>__________
>> Dari: Kid Mr. <mr.nmkid@gmail.
>>Kepada: belajar-excel@
>>Dikirim: Selasa, 25 September 2012 22:30
>>
>>Judul: Re: [belajar-excel] INPUT, EDIT & PINDAH TABEL
>>
>>
>>
>>
>>Oke.
>>
>>1. Untuk Add data sudah bisa ya.
>>2. Untuk menampilkan data yang akan di edit atau akan di-delete sudah bisa juga bukan. Yang jelas, dalam proses itu, Anda bisa mendapatkan posisi record.
>> Posisi record itu yang harus Anda ingat terus, yaitu listindex dari combobox + 1
>>3. Untuk proses edit data, ketika tombol save ditekan, harus ada proses :
>> >> 1. vallidasi terhadap isi setiap control dalam form, apakah pantas untuk di save atau tidak.
>> >> 2. ketika hasil validasi sudah oke dan pantas disimpan, cek setiap isi control dalam form dan bandingkan dengan nilai setiap kolom di baris record tersebut
>> Jika berbeda dengan isi di tabel pada baris record itu, salin nilai kolom di record itu ke kolom poin edit record itu juga
>> Jika sama, tidak perlu lakukan apapun
>> [proses nomor 2 ini adalah pencatatan histori yang Anda inginkan, khusus untuk edit data]
>> >> 3. lakukan proses penulisan nilai di setiap control dalam form ke masing-masing kolom yang bersesuaian pada record itu juga.
>> >> 4. proses selesai.
>>4. Untuk proses pindah data, ketika tombol save ditekan :
>> (inti proses adalah salin data record itu ke tabel penampung data yang dihapus, kemudian hapus data di tabel utama pada record itu)
>> >> 1. beri konfirmasi terakhir pad user apakah proses akan dilanjutkan
>> Jika ya, maka lanjutkan, jika tidak, maka batalkan proses
>> >> 2. salin data dari tabel utama di record itu ke tabel penampung di baris baru
>> >> 3. hapus data dari tabel utama pada record itu
>> contoh untuk hapus data di record ke-3, mulai kolom B sebanyak 1 baris x 10 kolom, dan range di shift ke atas
>> range("b4").
>> sesuaikan rujukan range("b4").
>> >> 4. proses selesai.
>>
>>Wassalam,
>>Kid.
>>
>>
>>
>
>
Sat Sep 29, 2012 11:02 am (PDT) . Posted by:
"utthank abe" abe_utthank
=IF( ( DAYS360(D8;$H$4 )/30 )=0;1;IF( DAYS360( D8;$H$4 )/30<12;DAYS360(
D8;$H$4 )/30;"" ) )
IF
biza di baca "jika"
rumusnya: =IF(kondizi,nilai jika benar,nilai jika zalah)
DAYS360
untuk menghitung jarak 2 tanggal dengan azumzi 1 taon ada 12 bulan dan tiap
bulan 30 hari
rumusnya: =DAYS360(tgl awal,tangal akhir,TRUE of FALSE).
*true jika pakai gaya eropa dan falze jika pakai ziztem amerika
sekarang kita pakai bahaza manuzia pada rumuz
=IF(kondizi,nilai jika benar,nilai jika zalah)
=IF( ( DAYS360(D8;$H$4 )/30 )=0;1;IF( DAYS360( D8;$H$4 )/30<12;DAYS360(
D8;$H$4 )/30;"" ) )
kita potong biar tidak bikin bingung
if yang pertama
IF( ( DAYS360(D8;$H$4 )/30 )=0;1 artinya jika jarak hari D8 ke H4 di bagi
30 = 0 maka nilainya 1
if yang kedua
IF( DAYS360( D8;$H$4 )/30<12;DAYS360( D8;$H$4 )/30 artinya jika jarak hari
D8 ke H4 di bagi 30 lebih kecil dari 12 maka nilainya adalah jarak hari D8
ke H4 di bagi 30
tanda "" artinya jika tidak memenuhi ke 2 kriteria if di ataz cukup di
kozongkan
tanda $ artinya abzolute
D8;$H$4 )/30;"" ) )
IF
biza di baca "jika"
rumusnya: =IF(kondizi,
DAYS360
untuk menghitung jarak 2 tanggal dengan azumzi 1 taon ada 12 bulan dan tiap
bulan 30 hari
rumusnya: =DAYS360(tgl awal,tangal akhir,TRUE of FALSE).
*true jika pakai gaya eropa dan falze jika pakai ziztem amerika
sekarang kita pakai bahaza manuzia pada rumuz
=IF(kondizi,
=IF( ( DAYS360(D8;$
D8;$H$4 )/30;"" ) )
kita potong biar tidak bikin bingung
if yang pertama
IF( ( DAYS360(D8;$
30 = 0 maka nilainya 1
if yang kedua
IF( DAYS360( D8;$H$4 )/30<12;DAYS360( D8;$H$4 )/30 artinya jika jarak hari
D8 ke H4 di bagi 30 lebih kecil dari 12 maka nilainya adalah jarak hari D8
ke H4 di bagi 30
tanda "" artinya jika tidak memenuhi ke 2 kriteria if di ataz cukup di
kozongkan
tanda $ artinya abzolute
Sat Sep 29, 2012 10:09 pm (PDT) . Posted by:
"Shenly Ruchman" shenly_excelmania
terima kasih bayank..sekrang sya sudah paham..
----- Pesan yang Diteruskan -----
Dari: utthank abe <abeutthank@gmail.com >
Kepada: belajar-excel@yahoogroups.com
Dikirim: Minggu, 30 September 2012 1:02
Judul: Re: [belajar-excel] Tanya rumus
=IF( ( DAYS360(D8;$H$4 )/30 )=0;1;IF( DAYS360( D8;$H$4 )/30<12;DAYS360( D8;$H$4 )/30;"" ) )
IF
biza di baca "jika"
rumusnya: =IF(kondizi,nilai jika benar,nilai jika zalah)
DAYS360
untuk menghitung jarak 2 tanggal dengan azumzi 1 taon ada 12 bulan dan tiap bulan 30 hari
rumusnya: =DAYS360(tgl awal,tangal akhir,TRUE of FALSE).
*true jika pakai gaya eropa dan falze jika pakai ziztem amerika
sekarang kita pakai bahaza manuzia pada rumuz
=IF(kondizi,nilai jika benar,nilai jika zalah)
=IF( ( DAYS360(D8;$H$4 )/30 )=0;1;IF( DAYS360( D8;$H$4 )/30<12;DAYS360( D8;$H$4 )/30;"" ) )
kita potong biar tidak bikin bingung
if yang pertama
IF( ( DAYS360(D8;$H$4 )/30 )=0;1 artinya jika jarak hari D8 ke H4 di bagi 30 = 0 maka nilainya 1
if yang kedua
IF( DAYS360( D8;$H$4 )/30<12;DAYS360( D8;$H$4 )/30 artinya jika jarak hari D8 ke H4 di bagi 30 lebih kecil dari 12 maka nilainya adalah jarak hari D8 ke H4 di bagi 30
tanda "" artinya jika tidak memenuhi ke 2 kriteria if di ataz cukup di kozongkan
tanda $ artinya abzolute
----- Pesan yang Diteruskan -----
Dari: utthank abe <abeutthank@gmail.
Kepada: belajar-excel@
Dikirim: Minggu, 30 September 2012 1:02
Judul: Re: [belajar-excel] Tanya rumus
=IF( ( DAYS360(D8;$
IF
biza di baca "jika"
rumusnya: =IF(kondizi,
DAYS360
untuk menghitung jarak 2 tanggal dengan azumzi 1 taon ada 12 bulan dan tiap bulan 30 hari
rumusnya: =DAYS360(
*true jika pakai gaya eropa dan falze jika pakai ziztem amerika
sekarang kita pakai bahaza manuzia pada rumuz
=IF(kondizi,
=IF( ( DAYS360(D8;$
kita potong biar tidak bikin bingung
if yang pertama
IF( ( DAYS360(D8;$
if yang kedua
IF( DAYS360( D8;$H$4 )/30<12;DAYS360( D8;$H$4 )/30 artinya jika jarak hari D8 ke H4 di bagi 30 lebih kecil dari 12 maka nilainya adalah jarak hari D8 ke H4 di bagi 30
tanda "" artinya jika tidak memenuhi ke 2 kriteria if di ataz cukup di kozongkan
tanda $ artinya abzolute
Sat Sep 29, 2012 6:58 pm (PDT) . Posted by:
"Kurei recca" yusajing_ehm
Dear Mr Kid,
Saya sudah coba tapi saya ingin bertanya beberapa hal lagi nih pak
Bisa ga ketika macronya jalan, excel tetap dapat berfungsi seperti biasa ?
Misal ketika bunyi beep itu keluar saya tetap dapat melakukan aktivitas di workbook tersebut ?
Thx pak
________________________________
Dari: Kurei recca <yusajing_ehm@yahoo.com >
Kepada: "belajar-excel@yahoogroups.com " <belajar-excel@yahoogroups.com >
Dikirim: Minggu, 23 September 2012 13:59
Judul: Bls: [belajar-excel] CODING MACRO BUNYI BEEP
Makasih Mr Kid,
dicoba dulu yaa,,
thx yaa
________________________________
Dari: Kid Mr. <mr.nmkid@gmail.com >
Kepada: belajar-excel@yahoogroups.com
Dikirim: Minggu, 23 September 2012 13:37
Judul: Re: [belajar-excel] CODING MACRO BUNYI BEEP
Hai Recca,
File terlampir berisi UDF SoundWarning yang tugasnya hanya membunyikan file wav dengan kriteria tertentu. Mungkin kestabilannya masih harus diuji, karena hanya rewrite dari bahasa C++ ke VBA. Kalau yang ke VB6 bisa lebih stabil.
Untuk mewarnai blinking, diatur melalui application.timer secara tidak langsung. Jadi, application.timer pada file terlampir hanya mengubah suatu nilai konstanta secara terus menerus dari 1 menjadi 2. Ketika application.timer dihentikan, maka nilai konstanta diset menjadi 0. Setiap kali buka workbook, set pertama saat open selalu nilai konstanta bernilai 1. Nilai konstanta ini disimpan dalam sebuah nama range bernama '_MyTrigger_'
Nilai dalam _MyTrigger_ lah yang menjadi nilai kondisi dalam Conditional Formatting (CF). Jadi blinking sebenarnya dilakukan oleh si CF karena ada pengubahan nilai _MyTrigger_ oleh application.timer.
Jadi nanti kalau ada yang gak stabil, coba perhatikan betul, sisi blinking-nya ada sisi sound-nya.
Berikut gambaran tentang UDF SoundWarning
UDF SoundWarning
Syntax =SoundWarning( kriteria_mulai_warning , [pesan_warning], [filefullname_suara_peringatan] )
kriteria_mulai_warning diisi nilai numerik, yang bisa berupa hasil komputasi ekspresi tertentu
jika nilainya <= 0, maka SoundWarning akan menghentikan bunyi
jika nilainya > 0, maka SoundWarning akan memulai bunyi peringatan
[pesan_warning] teks yang akan ditampilkan ke user yang menjadi nilai hasil UDF ini ketika kriteria_mulai_warningbernilai >0.
teks bisa berupa hasil komputasi ekspresi tertentu
[filefullname_suara_peringatan] nama file suara yang akan dijadikan nada peringatan.
nama file harus tertulis lengkap beserta drive dan foldernya
bila file tidak ditentukan user atau file dari user tidak ditemukan, maka file default C:\Windows\Media\notify.wav akan dimainkan.
jika file tidak ditemukan, maka tidak ada suara peringatan yang dimainkan
Result Jika nilai kriteria_mulai_warningbernilai >0, maka file suara akan dieksekusi menjadi suara peringatan disertai pesan teks dalam [pesan_warning]
Jika nilai kriteria_mulai_warningbernilai <=0, maka suara peringatan dihentikan dan tidak ada pesan teks yang ditampilkan
Contoh pemakaian :
=SoundWarning( 1*(B3="a") , "Cell B3 tidak boleh 'a'" )
Mainkan file default ketika isi cell B3 adalah teks 'a' (b3="a")
kemudian dikonversi menjadi nilai (1*) dan tampilkan pesan berbunyi : Cell B3 tidak boleh 'a'
=SoundWarning( 1*(B3="a") , "Cell B3 tidak boleh 'a'", "C:\Windows\Media\chord.wav" )
Mainkan file bernama chord.wavyang ada di C:\Windows\Media\ ketika isi cell B3 adalah teks 'a' (b3="a")
kemudian dikonversi menjadi nilai (1*) dan tampilkan pesan berbunyi : Cell B3 tidak boleh 'a'
Peringatan !!!
1 Pastikan pada event workbook before close, baris terakhir sebelum End Sub diberi kode untuk menghentikan sound sebagai berikut :
PlaySound vbnullstring,0,9
2 Pada pengembangan untuk memasukkan UDF SoundWarning menjadi sebuah AddIn, sertai dengan class pengatur Workbook agar setiap workbook yang ditutup menjalankan
PlaySound vbnullstring,0,9
kemudian pada file addin dilanjutkan dengan proses application.calculate untuk memicu UDF SoundWarning pada workbook yang belum tertutup
3 Yang dimainkan biasanya file pertama yang dijumpai, tetapi hal ini masih belum stabil. Mungkin harus pakai midi supaya bisa bareng semua dimainkan dan biar ribut seperti pasar :D
VBA Code untuk UDF SoundWarning :
Public Declare Function PlaySound Lib "winmm.dll" Alias "PlaySoundA" ( _
ByVal lpszName As String, ByVal hModule As Long, ByVal dwFlags As Long) As Long
Public sAddr As String
'Kid,Jakarta, 2007-01-05,rewrite for VB6 and VBA
'SoundWarning : mengeksekusi file .wav dengan suatu kondisi tertentu dan memberi return value teks
'butuh WinAPI function PlaySound pada winmm.dll
Public Function SoundWarning(lStartPeringatan As Long, _
Optional sWarning As String = "nah lo... ada yang gak pas", _
Optional sFileName As String = vbNullString) As String
Dim sFile As String, sCallerAddr As String
Application.Volatile
If LenB(sFileName) = 0 Then
sFile = "C:\Windows\Media\notify.wav"
ElseIf LenB(Dir$(sFileName)) = 0 Then
sFile = "C:\Windows\Media\notify.wav"
Else
sFile = sFileName
End If
sCallerAddr = Application.Caller.Address & "|"
If lStartPeringatan < 1 Then
sAddr = Replace$(sAddr, sCallerAddr, vbNullString)
If LenB(sAddr) = 0 Then
PlaySound vbNullString, 0, 9
End If
SoundWarning = vbNullString
Else
If InStr(sAddr, sCallerAddr) = 0 Then
sAddr = sAddr & sCallerAddr
End If
PlaySound sFile, 0, 9
SoundWarning = sWarning
End If
End Function
Module yang mengatur nilai dalam nama range _MyTrigger_ :
Public lTimer As Long
Public Sub MyTrigger()
Select Case lTimer
Case 0
Application.OnTime EarliestTime:=Now + TimeValue("00:00:01"), _
Procedure:="MyTrigger"
StopMyTrigger
Case 1, 2
lTimer = 2 + (lTimer = 2)
ThisWorkbook.Names("_MyTrigger_").Value = lTimer
Application.OnTime EarliestTime:=Now + TimeValue("00:00:01"), _
Procedure:="MyTrigger"
End Select
End Sub
Public Sub StopMyTrigger()
Application.OnTime EarliestTime:=Now + TimeValue("00:00:01"), _
Procedure:="MyTrigger", _
Schedule:=False
End Sub
Pengaturan saat open workbook :
Private Sub Workbook_Open()
lTimer = 1
ThisWorkbook.Names("_MyTrigger_").Value = lTimer
MyTrigger
End Sub
Pengaturan saat workbook akan di close (before close)
Private Sub Workbook_BeforeClose(Cancel As Boolean)
lTimer = 0
ThisWorkbook.Names("_MyTrigger_").Value = lTimer
MyTrigger
PlaySound vbNullString, 0, 9
End Sub
Moga-moga gak bikin crash ya...
Wassalam,
Kid.
2012/9/23 Kurei recca <yusajing_ehm@yahoo.com >
>
>Salam Para Master Excel,
>
>Ceritanya saya ingin membuat suatu coding dengan kondisi Jika Cell A1 bertuliskan kata "TRUE" maka akan ada bunyi beep berulang selama 20 detik or periode tertentu dan Cell Tersebut kelap kelip berwarna kuning dan putih selama 20 detik tersebut.
>
>Kira2 bagaimana ya codingnya,,?
>
>Mohon Pencerahannya...
>
>Best Regards
>
>
>
>
Saya sudah coba tapi saya ingin bertanya beberapa hal lagi nih pak
Bisa ga ketika macronya jalan, excel tetap dapat berfungsi seperti biasa ?
Misal ketika bunyi beep itu keluar saya tetap dapat melakukan aktivitas di workbook tersebut ?
Thx pak
____________
Dari: Kurei recca <yusajing_ehm@
Kepada: "belajar-excel@
Dikirim: Minggu, 23 September 2012 13:59
Judul: Bls: [belajar-excel] CODING MACRO BUNYI BEEP
Makasih Mr Kid,
dicoba dulu yaa,,
thx yaa
____________
Dari: Kid Mr. <mr.nmkid@gmail.
Kepada: belajar-excel@
Dikirim: Minggu, 23 September 2012 13:37
Judul: Re: [belajar-excel] CODING MACRO BUNYI BEEP
Hai Recca,
File terlampir berisi UDF SoundWarning yang tugasnya hanya membunyikan file wav dengan kriteria tertentu. Mungkin kestabilannya masih harus diuji, karena hanya rewrite dari bahasa C++ ke VBA. Kalau yang ke VB6 bisa lebih stabil.
Untuk mewarnai blinking, diatur melalui application.
Nilai dalam _MyTrigger_ lah yang menjadi nilai kondisi dalam Conditional Formatting (CF). Jadi blinking sebenarnya dilakukan oleh si CF karena ada pengubahan nilai _MyTrigger_ oleh application.
Jadi nanti kalau ada yang gak stabil, coba perhatikan betul, sisi blinking-nya ada sisi sound-nya.
Berikut gambaran tentang UDF SoundWarning
UDF SoundWarning
Syntax =SoundWarning( kriteria_mulai_
kriteria_mulai_
jika nilainya <= 0, maka SoundWarning akan menghentikan bunyi
jika nilainya > 0, maka SoundWarning akan memulai bunyi peringatan
[pesan_warning] teks yang akan ditampilkan ke user yang menjadi nilai hasil UDF ini ketika kriteria_mulai_
teks bisa berupa hasil komputasi ekspresi tertentu
[filefullname_
nama file harus tertulis lengkap beserta drive dan foldernya
bila file tidak ditentukan user atau file dari user tidak ditemukan, maka file default C:\Windows\Media\
jika file tidak ditemukan, maka tidak ada suara peringatan yang dimainkan
Result Jika nilai kriteria_mulai_
Jika nilai kriteria_mulai_
Contoh pemakaian :
=SoundWarning( 1*(B3="a") , "Cell B3 tidak boleh 'a'" )
Mainkan file default ketika isi cell B3 adalah teks 'a' (b3="a")
kemudian dikonversi menjadi nilai (1*) dan tampilkan pesan berbunyi : Cell B3 tidak boleh 'a'
=SoundWarning( 1*(B3="a") , "Cell B3 tidak boleh 'a'", "C:\Windows\
Mainkan file bernama chord.wavyang ada di C:\Windows\Media\ ketika isi cell B3 adalah teks 'a' (b3="a")
kemudian dikonversi menjadi nilai (1*) dan tampilkan pesan berbunyi : Cell B3 tidak boleh 'a'
Peringatan !!!
1 Pastikan pada event workbook before close, baris terakhir sebelum End Sub diberi kode untuk menghentikan sound sebagai berikut :
PlaySound vbnullstring,
2 Pada pengembangan untuk memasukkan UDF SoundWarning menjadi sebuah AddIn, sertai dengan class pengatur Workbook agar setiap workbook yang ditutup menjalankan
PlaySound vbnullstring,
kemudian pada file addin dilanjutkan dengan proses application.
3 Yang dimainkan biasanya file pertama yang dijumpai, tetapi hal ini masih belum stabil. Mungkin harus pakai midi supaya bisa bareng semua dimainkan dan biar ribut seperti pasar :D
VBA Code untuk UDF SoundWarning :
Public Declare Function PlaySound Lib "winmm.dll" Alias "PlaySoundA" ( _
ByVal lpszName As String, ByVal hModule As Long, ByVal dwFlags As Long) As Long
Public sAddr As String
'Kid,Jakarta, 2007-01-05,rewrite for VB6 and VBA
'SoundWarning : mengeksekusi file .wav dengan suatu kondisi tertentu dan memberi return value teks
'butuh WinAPI function PlaySound pada winmm.dll
Public Function SoundWarning(
Optional sWarning As String = "nah lo... ada yang gak pas", _
Optional sFileName As String = vbNullString) As String
Dim sFile As String, sCallerAddr As String
Application.
If LenB(sFileName) = 0 Then
sFile = "C:\Windows\
ElseIf LenB(Dir$(sFileName
sFile = "C:\Windows\
Else
sFile = sFileName
End If
sCallerAddr = Application.
If lStartPeringatan < 1 Then
sAddr = Replace$(sAddr, sCallerAddr, vbNullString)
If LenB(sAddr) = 0 Then
PlaySound vbNullString, 0, 9
End If
SoundWarning = vbNullString
Else
If InStr(sAddr, sCallerAddr) = 0 Then
sAddr = sAddr & sCallerAddr
End If
PlaySound sFile, 0, 9
SoundWarning = sWarning
End If
End Function
Module yang mengatur nilai dalam nama range _MyTrigger_ :
Public lTimer As Long
Public Sub MyTrigger()
Select Case lTimer
Case 0
Application.
Procedure:="
StopMyTrigger
Case 1, 2
lTimer = 2 + (lTimer = 2)
ThisWorkbook.
Application.
Procedure:="
End Select
End Sub
Public Sub StopMyTrigger(
Application.
Procedure:="
Schedule:=False
End Sub
Pengaturan saat open workbook :
Private Sub Workbook_Open(
lTimer = 1
ThisWorkbook.
MyTrigger
End Sub
Pengaturan saat workbook akan di close (before close)
Private Sub Workbook_BeforeClos
lTimer = 0
ThisWorkbook.
MyTrigger
PlaySound vbNullString, 0, 9
End Sub
Moga-moga gak bikin crash ya...
Wassalam,
Kid.
2012/9/23 Kurei recca <yusajing_ehm@
>
>Salam Para Master Excel,
>
>Ceritanya saya ingin membuat suatu coding dengan kondisi Jika Cell A1 bertuliskan kata "TRUE" maka akan ada bunyi beep berulang selama 20 detik or periode tertentu dan Cell Tersebut kelap kelip berwarna kuning dan putih selama 20 detik tersebut.
>
>Kira2 bagaimana ya codingnya,,?
>
>Mohon Pencerahannya.
>
>Best Regards
>
>
>
>
Sat Sep 29, 2012 6:59 pm (PDT) . Posted by:
"Kurei recca" yusajing_ehm
Dear Pak Aji
Saya sudah coba tapi saya ingin bertanya beberapa hal lagi nih pak
Bisa ga ketika macronya jalan, excel tetap dapat berfungsi seperti biasa ?
Misal ketika bunyi beep itu keluar saya tetap dapat melakukan aktivitas di workbook tersebut ?
Jadi ketika kedap kedip gitu saya tetap dapat mengoperasikan excel tersebut,
saya sudah coba menggunakan event workbook selection change tapi tetap tidak bisa,
Mohon Pencerahannya,
Terima Kasih,,
________________________________
Dari: Kurei recca <yusajing_ehm@yahoo.com >
Kepada: "belajar-excel@yahoogroups.com " <belajar-excel@yahoogroups.com >
Dikirim: Minggu, 23 September 2012 13:58
Judul: Bls: [belajar-excel] CODING MACRO BUNYI BEEP
Oke dicoba ya pak aji,,
thx yaa
________________________________
Dari: aji mumpung <pupung1986@gmail.com >
Kepada: belajar-excel@yahoogroups.com
Dikirim: Minggu, 23 September 2012 11:11
Judul: Re: [belajar-excel] CODING MACRO BUNYI BEEP
pak Yusa.. coba code berikut.. sudah saya tes di windows 32-bit dan berjalan dengan baik
Option Explicit
Private Declare Function SuaranyaDong _
Lib "winmm.dll" _
Alias "sndPlaySoundA" ( _
ByVal NamaLagu As String, _
ByVal Lama As Long) As Long
Sub BunyiBip()
Dim i As Integer
Dim c As Integer
For i = 1 To 10
If Range("a1").Value = "a" Then
If Application.Wait(Now() + TimeValue("00:00:02")) Then
Range("a1").Interior.ColorIndex = c
End If
SuaranyaDong "C:\Windows\Media\Chimes.wav", 0&
End If
c = c + 1
Next i
End Sub
untuk fungsi timernya saya belum ketemu.. ketemunya fungsi wait yang dimerahin dari link berikut
http://msdn.microsoft.com/en-us/library/aa213656 (office.11).aspx
mungkin dari para member millis ini maupun para master dapat memberikan pencerahan mengenai fungsi timer
wassalam,
-aji mumpung-
Pada 23 September 2012 09:07, aji mumpung <pupung1986@gmail.com > menulis:
hehehe... ternyata pak Yusa menggunakan windows 32-bit, jika anda menekan tombol Help maka ada keterangan sebagai berikut:
>
>
> * If you are working on a 32-bit Microsoft Windows platform, both the DLL name and
alias (if used) must be correct.
>Make sure the DLL name and alias are correct.
>untuk code berikut:
>
>
>Alias "BunyiGakYa" ( _
>
>
>yang dimerahin harap diganti dengan sndPlaySoundAsehingga codenya menjadi:
>
>
>Alias "sndPlaySoundA" ( _
>berhubung saya juga masih dalam tahap belajar vba.. (baru baca 150 halaman dari 404 halaman) untuk timernya saya pelajari dulu ya pak hehehe.. ^_^
>
>
>wassalam,
>
>
>-aji mumpung-
>
>
>Pada 23 September 2012 08:31, Kurei recca <yusajing_ehm@yahoo.com > menulis:
>
>
>
>>
>>Dear Aji,
>>
>>
>>Thx ya atas feedbacknya
>>
>>
>>
>>tapi kok fungsi "BunyiGaYa"-nya ga bisa jalan ya ? ada error yang mengatakan bahwa DDL function not found,,
>>
>>
>>codingnya saya taruh dalam module sheet1,,
>>
>>
>>Lalu, Pak Aji kan menggunakan looping For Next agar cell tersebut kelap kelip, bisa jika menggunakan timer karena jika menggunakan for next tidak kelihatan kelapa kelipnya,
>>
>>
>>Jadi agar kelihatan setidaknya satu warna itu 2 detik terpampangnya, lalu ganti warna laen,,
>>
>>
>>*Terlampir filenya ya pak : saya ubah kata "True" menjadi "a"
>>
>>
>>Mohon Pencerahannya
>>
>>
>>________________________________
>> Dari: aji mumpung <pupung1986@gmail.com >
>>Kepada: belajar-excel@yahoogroups.com
>>Dikirim: Minggu, 23 September 2012 8:06
>>Judul: Re: [belajar-excel] CODING MACRO BUNYI BEEP
>>
>>
>>
>>
>>hai yusa..
>>
>>
>>untuk dapat memainkan suara anda harus menggunakan function windows API yang terdapat di dalam file winmm.dll, tetapi sebelum dapat menggunakannya anda harus mendeklarasikan fungsi tersebut sehingga dapat dipanggil dalam suatu prosedur
>>
>>
>>codenya sebagai berikut:
>>
>>
>>Option Explicit
>>Private Declare Function SuaranyaDong _
>> Lib "winmm.dll" _
>> Alias "BunyiGakYa" ( _
>> ByVal NamaLagu As String, _
>> ByVal Lama As Long) As Long
>>
>>
>>Sub BunyiBip()
>> Dim i As Integer
>> Dim c As Integer
>>
>> For i = 1 To 10
>> If Range("a1").Value = "TRUE" Then
>> Range("a1").Interior.ColorIndex = c
>> SuaranyaDong "C:\Windows\Media\Chimes.wav", 0&
>> End If
>> c = c + 1
>> Next i
>>End Sub
>>
>>
>>perhatikan yang diberi warna biru & merah, code ini ditulis di sheets module sehingga hanya dapat berfungsi dengan baik di sheet tersebut, jika anda menginginkan fungsi dapat dipanggil dari mana saja maka pindahkan yang diberi warna biru & merah ke dalam suatu modul dan ubah warna biru dari Private menjadi Public.
>>
>>
>>untuk suaranya dapat anda ganti-ganti sesuka hati menggunakan file yang berekstensi wav dan default lokasi pada pc saya adalah pada folder C:\Windows\Media, silakan anda searching mengenai lokasi pada pc anda dan jenis-jenis bunyi yang tersedis.
>>
>>
>>wassalam,
>>
>>
>>-aji mumpung-
>>
>>
>>Pada 23 September 2012 07:01, Kurei recca <yusajing_ehm@yahoo.com > menulis:
>>
>>
>>>
>>>Salam Para Master Excel,
>>>
>>>Ceritanya saya ingin membuat suatu coding dengan kondisi Jika Cell A1 bertuliskan kata "TRUE" maka akan ada bunyi beep berulang selama 20 detik or periode tertentu dan Cell Tersebut kelap kelip berwarna kuning dan putih selama 20 detik tersebut.
>>>
>>>Kira2 bagaimana ya codingnya,,?
>>>
>>>Mohon Pencerahannya...
>>>
>>>Best Regards
>>>
>>>
>>>
>>
>>
>>
>
Saya sudah coba tapi saya ingin bertanya beberapa hal lagi nih pak
Bisa ga ketika macronya jalan, excel tetap dapat berfungsi seperti biasa ?
Misal ketika bunyi beep itu keluar saya tetap dapat melakukan aktivitas di workbook tersebut ?
Jadi ketika kedap kedip gitu saya tetap dapat mengoperasikan excel tersebut,
saya sudah coba menggunakan event workbook selection change tapi tetap tidak bisa,
Mohon Pencerahannya,
Terima Kasih,,
____________
Dari: Kurei recca <yusajing_ehm@
Kepada: "belajar-excel@
Dikirim: Minggu, 23 September 2012 13:58
Judul: Bls: [belajar-excel] CODING MACRO BUNYI BEEP
Oke dicoba ya pak aji,,
thx yaa
____________
Dari: aji mumpung <pupung1986@gmail.
Kepada: belajar-excel@
Dikirim: Minggu, 23 September 2012 11:11
Judul: Re: [belajar-excel] CODING MACRO BUNYI BEEP
pak Yusa.. coba code berikut.. sudah saya tes di windows 32-bit dan berjalan dengan baik
Option Explicit
Private Declare Function SuaranyaDong _
Lib "winmm.dll" _
Alias "sndPlaySoundA" ( _
ByVal NamaLagu As String, _
ByVal Lama As Long) As Long
Sub BunyiBip()
Dim i As Integer
Dim c As Integer
For i = 1 To 10
If Range("a1").
If Application.
Range("a1").
End If
SuaranyaDong "C:\Windows\
End If
c = c + 1
Next i
End Sub
untuk fungsi timernya saya belum ketemu.. ketemunya fungsi wait yang dimerahin dari link berikut
http://msdn.
mungkin dari para member millis ini maupun para master dapat memberikan pencerahan mengenai fungsi timer
wassalam,
-aji mumpung-
Pada 23 September 2012 09:07, aji mumpung <pupung1986@gmail.
hehehe... ternyata pak Yusa menggunakan windows 32-bit, jika anda menekan tombol Help maka ada keterangan sebagai berikut:
>
>
> * If you are working on a 32-bit Microsoft Windows platform, both the DLL name and
alias (if used) must be correct.
>Make sure the DLL name and alias are correct.
>untuk code berikut:
>
>
>Alias "BunyiGakYa" ( _
>
>
>yang dimerahin harap diganti dengan sndPlaySoundA
>
>
>Alias "sndPlaySoundA" ( _
>berhubung saya juga masih dalam tahap belajar vba.. (baru baca 150 halaman dari 404 halaman) untuk timernya saya pelajari dulu ya pak hehehe.. ^_^
>
>
>wassalam,
>
>
>-aji mumpung-
>
>
>Pada 23 September 2012 08:31, Kurei recca <yusajing_ehm@
>
>
>
>>
>>Dear Aji,
>>
>>
>>Thx ya atas feedbacknya
>>
>>
>>
>>tapi kok fungsi "BunyiGaYa"-
>>
>>
>>codingnya saya taruh dalam module sheet1,,
>>
>>
>>Lalu, Pak Aji kan menggunakan looping For Next agar cell tersebut kelap kelip, bisa jika menggunakan timer karena jika menggunakan for next tidak kelihatan kelapa kelipnya,
>>
>>
>>Jadi agar kelihatan setidaknya satu warna itu 2 detik terpampangnya, lalu ganti warna laen,,
>>
>>
>>*Terlampir filenya ya pak : saya ubah kata "True" menjadi "a"
>>
>>
>>Mohon Pencerahannya
>>
>>
>>__________
>> Dari: aji mumpung <pupung1986@gmail.
>>Kepada: belajar-excel@
>>Dikirim: Minggu, 23 September 2012 8:06
>>Judul: Re: [belajar-excel] CODING MACRO BUNYI BEEP
>>
>>
>>
>>
>>hai yusa..
>>
>>
>>untuk dapat memainkan suara anda harus menggunakan function windows API yang terdapat di dalam file winmm.dll, tetapi sebelum dapat menggunakannya anda harus mendeklarasikan fungsi tersebut sehingga dapat dipanggil dalam suatu prosedur
>>
>>
>>codenya sebagai berikut:
>>
>>
>>Option Explicit
>>Private Declare Function SuaranyaDong _
>> Lib "winmm.dll" _
>> Alias "BunyiGakYa" ( _
>> ByVal NamaLagu As String, _
>> ByVal Lama As Long) As Long
>>
>>
>>Sub BunyiBip()
>> Dim i As Integer
>> Dim c As Integer
>>
>> For i = 1 To 10
>> If Range("a1").
>> Range("a1").
>> SuaranyaDong "C:\Windows\
>> End If
>> c = c + 1
>> Next i
>>End Sub
>>
>>
>>perhatikan yang diberi warna biru & merah, code ini ditulis di sheets module sehingga hanya dapat berfungsi dengan baik di sheet tersebut, jika anda menginginkan fungsi dapat dipanggil dari mana saja maka pindahkan yang diberi warna biru & merah ke dalam suatu modul dan ubah warna biru dari Private menjadi Public.
>>
>>
>>untuk suaranya dapat anda ganti-ganti sesuka hati menggunakan file yang berekstensi wav dan default lokasi pada pc saya adalah pada folder C:\Windows\Media, silakan anda searching mengenai lokasi pada pc anda dan jenis-jenis bunyi yang tersedis.
>>
>>
>>wassalam,
>>
>>
>>-aji mumpung-
>>
>>
>>Pada 23 September 2012 07:01, Kurei recca <yusajing_ehm@
>>
>>
>>>
>>>Salam Para Master Excel,
>>>
>>>Ceritanya saya ingin membuat suatu coding dengan kondisi Jika Cell A1 bertuliskan kata "TRUE" maka akan ada bunyi beep berulang selama 20 detik or periode tertentu dan Cell Tersebut kelap kelip berwarna kuning dan putih selama 20 detik tersebut.
>>>
>>>Kira2 bagaimana ya codingnya,,?
>>>
>>>Mohon Pencerahannya.
>>>
>>>Best Regards
>>>
>>>
>>>
>>
>>
>>
>
Sat Sep 29, 2012 7:10 pm (PDT) . Posted by:
"Kurei recca" yusajing_ehm
Dear Mr Kid,
Sudah terjawab pertanyaannya mr kid ternyata tetap kedap kedip dan saya bisa menggunakan excel ketika macro berjalan,,
Okeh thx ya pak,,
________________________________
Dari: Kurei recca <yusajing_ehm@yahoo.com >
Kepada: "belajar-excel@yahoogroups.com " <belajar-excel@yahoogroups.com >
Dikirim: Minggu, 30 September 2012 8:58
Judul: Bls: [belajar-excel] CODING MACRO BUNYI BEEP
Dear Mr Kid,
Saya sudah coba tapi saya ingin bertanya beberapa hal lagi nih pak
Bisa ga ketika macronya jalan, excel tetap dapat berfungsi seperti biasa ?
Misal ketika bunyi beep itu keluar saya tetap dapat melakukan aktivitas di workbook tersebut ?
Thx pak
________________________________
Dari: Kurei recca <yusajing_ehm@yahoo.com >
Kepada: "belajar-excel@yahoogroups.com " <belajar-excel@yahoogroups.com >
Dikirim: Minggu, 23 September 2012 13:59
Judul: Bls: [belajar-excel] CODING MACRO BUNYI BEEP
Makasih Mr Kid,
dicoba dulu yaa,,
thx yaa
________________________________
Dari: Kid Mr. <mr.nmkid@gmail.com >
Kepada: belajar-excel@yahoogroups.com
Dikirim: Minggu, 23 September 2012 13:37
Judul: Re: [belajar-excel] CODING MACRO BUNYI BEEP
Hai Recca,
File terlampir berisi UDF SoundWarning yang tugasnya hanya membunyikan file wav dengan kriteria tertentu. Mungkin kestabilannya masih harus diuji, karena hanya rewrite dari bahasa C++ ke VBA. Kalau yang ke VB6 bisa lebih stabil.
Untuk mewarnai blinking, diatur melalui application.timer secara tidak langsung. Jadi, application.timer pada file terlampir hanya mengubah suatu nilai konstanta secara terus menerus dari 1 menjadi 2. Ketika application.timer dihentikan, maka nilai konstanta diset menjadi 0. Setiap kali buka workbook, set pertama saat open selalu nilai konstanta bernilai 1. Nilai konstanta ini disimpan dalam sebuah nama range bernama '_MyTrigger_'
Nilai dalam _MyTrigger_ lah yang menjadi nilai kondisi dalam Conditional Formatting (CF). Jadi blinking sebenarnya dilakukan oleh si CF karena ada pengubahan nilai _MyTrigger_ oleh application.timer.
Jadi nanti kalau ada yang gak stabil, coba perhatikan betul, sisi blinking-nya ada sisi sound-nya.
Berikut gambaran tentang UDF SoundWarning
UDF SoundWarning
Syntax =SoundWarning( kriteria_mulai_warning , [pesan_warning], [filefullname_suara_peringatan] )
kriteria_mulai_warning diisi nilai numerik, yang bisa berupa hasil komputasi ekspresi tertentu
jika nilainya <= 0, maka SoundWarning akan menghentikan bunyi
jika nilainya > 0, maka SoundWarning akan memulai bunyi peringatan
[pesan_warning] teks yang akan ditampilkan ke user yang menjadi nilai hasil UDF ini ketika kriteria_mulai_warningbernilai >0.
teks bisa berupa hasil komputasi ekspresi tertentu
[filefullname_suara_peringatan] nama file suara yang akan dijadikan nada peringatan.
nama file harus tertulis lengkap beserta drive dan foldernya
bila file tidak ditentukan user atau file dari user tidak ditemukan, maka file default C:\Windows\Media\notify.wav akan dimainkan.
jika file tidak ditemukan, maka tidak ada suara peringatan yang dimainkan
Result Jika nilai kriteria_mulai_warningbernilai >0, maka file suara akan dieksekusi menjadi suara peringatan disertai pesan teks dalam [pesan_warning]
Jika nilai kriteria_mulai_warningbernilai <=0, maka suara peringatan dihentikan dan tidak ada pesan teks yang ditampilkan
Contoh pemakaian :
=SoundWarning( 1*(B3="a") , "Cell B3 tidak boleh 'a'" )
Mainkan file default ketika isi cell B3 adalah teks 'a' (b3="a")
kemudian dikonversi menjadi nilai (1*) dan tampilkan pesan berbunyi : Cell B3 tidak boleh 'a'
=SoundWarning( 1*(B3="a") , "Cell B3 tidak boleh 'a'", "C:\Windows\Media\chord.wav" )
Mainkan file bernama chord.wavyang ada di C:\Windows\Media\ ketika isi cell B3 adalah teks 'a' (b3="a")
kemudian dikonversi menjadi nilai (1*) dan tampilkan pesan berbunyi : Cell B3 tidak boleh 'a'
Peringatan !!!
1 Pastikan pada event workbook before close, baris terakhir sebelum End Sub diberi kode untuk menghentikan sound sebagai berikut :
PlaySound vbnullstring,0,9
2 Pada pengembangan untuk memasukkan UDF SoundWarning menjadi sebuah AddIn, sertai dengan class pengatur Workbook agar setiap workbook yang ditutup menjalankan
PlaySound vbnullstring,0,9
kemudian pada file addin dilanjutkan dengan proses application.calculate untuk memicu UDF SoundWarning pada workbook yang belum tertutup
3 Yang dimainkan biasanya file pertama yang dijumpai, tetapi hal ini masih belum stabil. Mungkin harus pakai midi supaya bisa bareng semua dimainkan dan biar ribut seperti pasar :D
VBA Code untuk UDF SoundWarning :
Public Declare Function PlaySound Lib "winmm.dll" Alias "PlaySoundA" ( _
ByVal lpszName As String, ByVal hModule As Long, ByVal dwFlags As Long) As Long
Public sAddr As String
'Kid,Jakarta, 2007-01-05,rewrite for VB6 and VBA
'SoundWarning : mengeksekusi file .wav dengan suatu kondisi tertentu dan memberi return value teks
'butuh WinAPI function PlaySound pada winmm.dll
Public Function SoundWarning(lStartPeringatan As Long, _
Optional sWarning As String = "nah lo... ada yang gak pas", _
Optional sFileName As String = vbNullString) As String
Dim sFile As String, sCallerAddr As String
Application.Volatile
If LenB(sFileName) = 0 Then
sFile = "C:\Windows\Media\notify.wav"
ElseIf LenB(Dir$(sFileName)) = 0 Then
sFile = "C:\Windows\Media\notify.wav"
Else
sFile = sFileName
End If
sCallerAddr = Application.Caller.Address & "|"
If lStartPeringatan < 1 Then
sAddr = Replace$(sAddr, sCallerAddr, vbNullString)
If LenB(sAddr) = 0 Then
PlaySound vbNullString, 0, 9
End If
SoundWarning = vbNullString
Else
If InStr(sAddr, sCallerAddr) = 0 Then
sAddr = sAddr & sCallerAddr
End If
PlaySound sFile, 0, 9
SoundWarning = sWarning
End If
End Function
Module yang mengatur nilai dalam nama range _MyTrigger_ :
Public lTimer As Long
Public Sub MyTrigger()
Select Case lTimer
Case 0
Application.OnTime EarliestTime:=Now + TimeValue("00:00:01"), _
Procedure:="MyTrigger"
StopMyTrigger
Case 1, 2
lTimer = 2 + (lTimer = 2)
ThisWorkbook.Names("_MyTrigger_").Value = lTimer
Application.OnTime EarliestTime:=Now + TimeValue("00:00:01"), _
Procedure:="MyTrigger"
End Select
End Sub
Public Sub StopMyTrigger()
Application.OnTime EarliestTime:=Now + TimeValue("00:00:01"), _
Procedure:="MyTrigger", _
Schedule:=False
End Sub
Pengaturan saat open workbook :
Private Sub Workbook_Open()
lTimer = 1
ThisWorkbook.Names("_MyTrigger_").Value = lTimer
MyTrigger
End Sub
Pengaturan saat workbook akan di close (before close)
Private Sub Workbook_BeforeClose(Cancel As Boolean)
lTimer = 0
ThisWorkbook.Names("_MyTrigger_").Value = lTimer
MyTrigger
PlaySound vbNullString, 0, 9
End Sub
Moga-moga gak bikin crash ya...
Wassalam,
Kid.
2012/9/23 Kurei recca <yusajing_ehm@yahoo.com >
>
>Salam Para Master Excel,
>
>Ceritanya saya ingin membuat suatu coding dengan kondisi Jika Cell A1 bertuliskan kata "TRUE" maka akan ada bunyi beep berulang selama 20 detik or periode tertentu dan Cell Tersebut kelap kelip berwarna kuning dan putih selama 20 detik tersebut.
>
>Kira2 bagaimana ya codingnya,,?
>
>Mohon Pencerahannya...
>
>Best Regards
>
>
>
>
Sudah terjawab pertanyaannya mr kid ternyata tetap kedap kedip dan saya bisa menggunakan excel ketika macro berjalan,,
Okeh thx ya pak,,
____________
Dari: Kurei recca <yusajing_ehm@
Kepada: "belajar-excel@
Dikirim: Minggu, 30 September 2012 8:58
Judul: Bls: [belajar-excel] CODING MACRO BUNYI BEEP
Dear Mr Kid,
Saya sudah coba tapi saya ingin bertanya beberapa hal lagi nih pak
Bisa ga ketika macronya jalan, excel tetap dapat berfungsi seperti biasa ?
Misal ketika bunyi beep itu keluar saya tetap dapat melakukan aktivitas di workbook tersebut ?
Thx pak
____________
Dari: Kurei recca <yusajing_ehm@
Kepada: "belajar-excel@
Dikirim: Minggu, 23 September 2012 13:59
Judul: Bls: [belajar-excel] CODING MACRO BUNYI BEEP
Makasih Mr Kid,
dicoba dulu yaa,,
thx yaa
____________
Dari: Kid Mr. <mr.nmkid@gmail.
Kepada: belajar-excel@
Dikirim: Minggu, 23 September 2012 13:37
Judul: Re: [belajar-excel] CODING MACRO BUNYI BEEP
Hai Recca,
File terlampir berisi UDF SoundWarning yang tugasnya hanya membunyikan file wav dengan kriteria tertentu. Mungkin kestabilannya masih harus diuji, karena hanya rewrite dari bahasa C++ ke VBA. Kalau yang ke VB6 bisa lebih stabil.
Untuk mewarnai blinking, diatur melalui application.
Nilai dalam _MyTrigger_ lah yang menjadi nilai kondisi dalam Conditional Formatting (CF). Jadi blinking sebenarnya dilakukan oleh si CF karena ada pengubahan nilai _MyTrigger_ oleh application.
Jadi nanti kalau ada yang gak stabil, coba perhatikan betul, sisi blinking-nya ada sisi sound-nya.
Berikut gambaran tentang UDF SoundWarning
UDF SoundWarning
Syntax =SoundWarning( kriteria_mulai_
kriteria_mulai_
jika nilainya <= 0, maka SoundWarning akan menghentikan bunyi
jika nilainya > 0, maka SoundWarning akan memulai bunyi peringatan
[pesan_warning] teks yang akan ditampilkan ke user yang menjadi nilai hasil UDF ini ketika kriteria_mulai_
teks bisa berupa hasil komputasi ekspresi tertentu
[filefullname_
nama file harus tertulis lengkap beserta drive dan foldernya
bila file tidak ditentukan user atau file dari user tidak ditemukan, maka file default C:\Windows\Media\
jika file tidak ditemukan, maka tidak ada suara peringatan yang dimainkan
Result Jika nilai kriteria_mulai_
Jika nilai kriteria_mulai_
Contoh pemakaian :
=SoundWarning( 1*(B3="a") , "Cell B3 tidak boleh 'a'" )
Mainkan file default ketika isi cell B3 adalah teks 'a' (b3="a")
kemudian dikonversi menjadi nilai (1*) dan tampilkan pesan berbunyi : Cell B3 tidak boleh 'a'
=SoundWarning( 1*(B3="a") , "Cell B3 tidak boleh 'a'", "C:\Windows\
Mainkan file bernama chord.wavyang ada di C:\Windows\Media\ ketika isi cell B3 adalah teks 'a' (b3="a")
kemudian dikonversi menjadi nilai (1*) dan tampilkan pesan berbunyi : Cell B3 tidak boleh 'a'
Peringatan !!!
1 Pastikan pada event workbook before close, baris terakhir sebelum End Sub diberi kode untuk menghentikan sound sebagai berikut :
PlaySound vbnullstring,
2 Pada pengembangan untuk memasukkan UDF SoundWarning menjadi sebuah AddIn, sertai dengan class pengatur Workbook agar setiap workbook yang ditutup menjalankan
PlaySound vbnullstring,
kemudian pada file addin dilanjutkan dengan proses application.
3 Yang dimainkan biasanya file pertama yang dijumpai, tetapi hal ini masih belum stabil. Mungkin harus pakai midi supaya bisa bareng semua dimainkan dan biar ribut seperti pasar :D
VBA Code untuk UDF SoundWarning :
Public Declare Function PlaySound Lib "winmm.dll" Alias "PlaySoundA" ( _
ByVal lpszName As String, ByVal hModule As Long, ByVal dwFlags As Long) As Long
Public sAddr As String
'Kid,Jakarta, 2007-01-05,rewrite for VB6 and VBA
'SoundWarning : mengeksekusi file .wav dengan suatu kondisi tertentu dan memberi return value teks
'butuh WinAPI function PlaySound pada winmm.dll
Public Function SoundWarning(
Optional sWarning As String = "nah lo... ada yang gak pas", _
Optional sFileName As String = vbNullString) As String
Dim sFile As String, sCallerAddr As String
Application.
If LenB(sFileName) = 0 Then
sFile = "C:\Windows\
ElseIf LenB(Dir$(sFileName
sFile = "C:\Windows\
Else
sFile = sFileName
End If
sCallerAddr = Application.
If lStartPeringatan < 1 Then
sAddr = Replace$(sAddr, sCallerAddr, vbNullString)
If LenB(sAddr) = 0 Then
PlaySound vbNullString, 0, 9
End If
SoundWarning = vbNullString
Else
If InStr(sAddr, sCallerAddr) = 0 Then
sAddr = sAddr & sCallerAddr
End If
PlaySound sFile, 0, 9
SoundWarning = sWarning
End If
End Function
Module yang mengatur nilai dalam nama range _MyTrigger_ :
Public lTimer As Long
Public Sub MyTrigger()
Select Case lTimer
Case 0
Application.
Procedure:="
StopMyTrigger
Case 1, 2
lTimer = 2 + (lTimer = 2)
ThisWorkbook.
Application.
Procedure:="
End Select
End Sub
Public Sub StopMyTrigger(
Application.
Procedure:="
Schedule:=False
End Sub
Pengaturan saat open workbook :
Private Sub Workbook_Open(
lTimer = 1
ThisWorkbook.
MyTrigger
End Sub
Pengaturan saat workbook akan di close (before close)
Private Sub Workbook_BeforeClos
lTimer = 0
ThisWorkbook.
MyTrigger
PlaySound vbNullString, 0, 9
End Sub
Moga-moga gak bikin crash ya...
Wassalam,
Kid.
2012/9/23 Kurei recca <yusajing_ehm@
>
>Salam Para Master Excel,
>
>Ceritanya saya ingin membuat suatu coding dengan kondisi Jika Cell A1 bertuliskan kata "TRUE" maka akan ada bunyi beep berulang selama 20 detik or periode tertentu dan Cell Tersebut kelap kelip berwarna kuning dan putih selama 20 detik tersebut.
>
>Kira2 bagaimana ya codingnya,,?
>
>Mohon Pencerahannya.
>
>Best Regards
>
>
>
>
Sat Sep 29, 2012 7:37 pm (PDT) . Posted by:
"Kid Mr." nmkid.family@ymail.com
Oh yang file kemarin gak bisa dipakai ya jika ada bunyi beep keluar ?
Wassalam,
Kid.
2012/9/30 Kurei recca <yusajing_ehm@yahoo.com >
> **
>
>
> Dear Mr Kid,
>
> Saya sudah coba tapi saya ingin bertanya beberapa hal lagi nih pak
>
> Bisa ga ketika macronya jalan, excel tetap dapat berfungsi seperti biasa ?
>
> Misal ketika bunyi beep itu keluar saya tetap dapat melakukan aktivitas di
> workbook tersebut ?
>
> Thx pak
>
> ------------------------------
> *Dari:* Kurei recca <yusajing_ehm@yahoo.com >
> *Kepada:* "belajar-excel@yahoogroups.com " <belajar-excel@yahoogroups.com >
> *Dikirim:* Minggu, 23 September 2012 13:59
> *Judul:* Bls: [belajar-excel] CODING MACRO BUNYI BEEP
>
> Makasih Mr Kid,
>
> dicoba dulu yaa,,
>
> thx yaa
> ------------------------------
> *Dari:* Kid Mr. <mr.nmkid@gmail.com >
> *Kepada:* belajar-excel@yahoogroups.com
> *Dikirim:* Minggu, 23 September 2012 13:37
> *Judul:* Re: [belajar-excel] CODING MACRO BUNYI BEEP
>
>
> Hai Recca,
>
> File terlampir berisi UDF SoundWarning yang tugasnya hanya membunyikan
> file wav dengan kriteria tertentu. Mungkin kestabilannya masih harus diuji,
> karena hanya rewrite dari bahasa C++ ke VBA. Kalau yang ke VB6 bisa lebih
> stabil.
>
> Untuk mewarnai blinking, diatur melalui application.timer secara tidak
> langsung. Jadi, application.timer pada file terlampir hanya mengubah suatu
> nilai konstanta secara terus menerus dari 1 menjadi 2. Ketika
> application.timer dihentikan, maka nilai konstanta diset menjadi 0. Setiap
> kali buka workbook, set pertama saat open selalu nilai konstanta bernilai
> 1. Nilai konstanta ini disimpan dalam sebuah nama range bernama
> '_MyTrigger_'
> Nilai dalam _MyTrigger_ lah yang menjadi nilai kondisi dalam Conditional
> Formatting (CF). Jadi blinking sebenarnya dilakukan oleh si CF karena ada
> pengubahan nilai _MyTrigger_ oleh application.timer.
>
> Jadi nanti kalau ada yang gak stabil, coba perhatikan betul, sisi
> blinking-nya ada sisi sound-nya.
>
> Berikut gambaran tentang UDF SoundWarning
> UDF SoundWarning
>
>
>
>
>
>
>
>
>
> Syntax =SoundWarning( kriteria_mulai_warning , [pesan_warning] ,
> [filefullname_suara_peringatan] )
>
>
>
>
> kriteria_mulai_warning diisi nilai numerik, yang bisa berupa hasil
> komputasi ekspresi tertentu
>
>
>
>
> jika nilainya <= 0, maka SoundWarning akan menghentikan bunyi
>
>
>
>
> jika nilainya > 0, maka SoundWarning akan memulai bunyi peringatan
>
>
>
> [pesan_warning] teks yang akan ditampilkan ke user yang menjadi nilai
> hasil UDF ini ketika kriteria_mulai_warning bernilai >0.
>
> teks bisa berupa hasil komputasi ekspresi tertentu
>
>
>
>
>
> [filefullname_suara_peringatan] nama file suara yang akan dijadikan nada
> peringatan.
>
>
>
>
>
> nama file harus tertulis lengkap beserta drive dan foldernya
>
>
>
>
>
> bila file tidak ditentukan user atau file dari user tidak ditemukan, maka
> file default C:\Windows\Media\notify.wav akan dimainkan.
>
> jika file tidak ditemukan, maka tidak ada suara peringatan yang dimainkan
>
>
>
>
>
>
>
>
>
>
>
>
>
>
> Result Jika nilai kriteria_mulai_warning bernilai >0, maka file suara
> akan dieksekusi menjadi suara peringatan disertai pesan teks dalam
> [pesan_warning]
> Jika nilai kriteria_mulai_warning bernilai <=0, maka suara peringatan
> dihentikan dan tidak ada pesan teks yang ditampilkan
>
>
>
>
>
>
>
>
>
>
>
>
> Contoh pemakaian :
>
>
>
>
>
>
>
>
>
>
> =SoundWarning( 1*(B3="a") , "Cell B3 tidak boleh 'a'" )
>
>
>
>
>
>
>
>
> Mainkan file default ketika isi cell B3 adalah teks 'a' (b3="a")
>
>
>
>
>
> kemudian dikonversi menjadi nilai (1*) dan tampilkan pesan berbunyi : Cell
> B3 tidak boleh 'a'
>
>
>
>
>
>
>
>
>
>
>
>
>
> =SoundWarning( 1*(B3="a") , "Cell B3 tidak boleh 'a'" ,
> "C:\Windows\Media\chord.wav" )
>
>
>
>
>
> Mainkan file bernama chord.wav yang ada di C:\Windows\Media\ ketika isi
> cell B3 adalah teks 'a' (b3="a")
>
> kemudian dikonversi menjadi nilai (1*) dan tampilkan pesan berbunyi : Cell
> B3 tidak boleh 'a'
>
>
>
>
>
>
>
>
>
>
>
>
> Peringatan !!!
>
>
>
>
>
>
>
>
>
> 1 Pastikan pada event workbook before close, baris terakhir sebelum End
> Sub diberi kode untuk menghentikan sound sebagai berikut :
> PlaySound vbnullstring,0,9
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
> 2 Pada pengembangan untuk memasukkan UDF SoundWarning menjadi sebuah
> AddIn, sertai dengan class pengatur Workbook agar setiap workbook yang
> ditutup menjalankan
> PlaySound vbnullstring,0,9
>
>
>
>
>
>
>
>
>
> kemudian pada file addin dilanjutkan dengan proses application.calculate
> untuk memicu UDF SoundWarning pada workbook yang belum tertutup
>
>
>
>
>
>
>
>
>
>
>
> 3 Yang dimainkan biasanya file pertama yang dijumpai, tetapi hal ini
> masih belum stabil. Mungkin harus pakai midi supaya bisa bareng semua
> dimainkan dan biar ribut seperti pasar :D
> VBA Code untuk UDF SoundWarning :
> Public Declare Function PlaySound Lib "winmm.dll" Alias "PlaySoundA" ( _
> ByVal lpszName As String, ByVal hModule As Long, ByVal
> dwFlags As Long) As Long
>
> Public sAddr As String
>
> 'Kid,Jakarta, 2007-01-05,rewrite for VB6 and VBA
> 'SoundWarning : mengeksekusi file .wav dengan suatu kondisi tertentu dan
> memberi return value teks
> 'butuh WinAPI function PlaySound pada winmm.dll
> Public Function SoundWarning(lStartPeringatan As Long, _
> Optional sWarning As String = "nah lo... ada yang gak
> pas", _
> Optional sFileName As String = vbNullString) As String
> Dim sFile As String, sCallerAddr As String
>
> Application.Volatile
> If LenB(sFileName) = 0 Then
> sFile = "C:\Windows\Media\notify.wav"
> ElseIf LenB(Dir$(sFileName)) = 0 Then
> sFile = "C:\Windows\Media\notify.wav"
> Else
> sFile = sFileName
> End If
>
> sCallerAddr = Application.Caller.Address & "|"
> If lStartPeringatan < 1 Then
> sAddr = Replace$(sAddr, sCallerAddr, vbNullString)
> If LenB(sAddr) = 0 Then
> PlaySound vbNullString, 0, 9
> End If
> SoundWarning = vbNullString
> Else
> If InStr(sAddr, sCallerAddr) = 0 Then
> sAddr = sAddr & sCallerAddr
> End If
> PlaySound sFile, 0, 9
> SoundWarning = sWarning
> End If
> End Function
>
>
> Module yang mengatur nilai dalam nama range _MyTrigger_ :
> Public lTimer As Long
>
> Public Sub MyTrigger()
> Select Case lTimer
> Case 0
> Application.OnTime EarliestTime:=Now + TimeValue("00:00:01"), _
> Procedure:="MyTrigger"
> StopMyTrigger
> Case 1, 2
> lTimer = 2 + (lTimer = 2)
> ThisWorkbook.Names("_MyTrigger_").Value = lTimer
> Application.OnTime EarliestTime:=Now + TimeValue("00:00:01"), _
> Procedure:="MyTrigger"
> End Select
> End Sub
>
> Public Sub StopMyTrigger()
> Application.OnTime EarliestTime:=Now + TimeValue("00:00:01"), _
> Procedure:="MyTrigger", _
> Schedule:=False
> End Sub
>
> Pengaturan saat open workbook :
> Private Sub Workbook_Open()
> lTimer = 1
> ThisWorkbook.Names("_MyTrigger_").Value = lTimer
> MyTrigger
> End Sub
>
> Pengaturan saat workbook akan di close (before close)
> Private Sub Workbook_BeforeClose(Cancel As Boolean)
> lTimer = 0
> ThisWorkbook.Names("_MyTrigger_").Value = lTimer
> MyTrigger
>
> PlaySound vbNullString, 0, 9
> End Sub
>
> Moga-moga gak bikin crash ya...
>
> Wassalam,
> Kid.
>
>
> 2012/9/23 Kurei recca <yusajing_ehm@yahoo.com >
>
> **
>
> Salam Para Master Excel,
>
> Ceritanya saya ingin membuat suatu coding dengan kondisi Jika Cell A1
> bertuliskan kata "TRUE" maka akan ada bunyi beep berulang selama 20 detik
> or periode tertentu dan Cell Tersebut kelap kelip berwarna kuning dan putih
> selama 20 detik tersebut.
>
> Kira2 bagaimana ya codingnya,,?
>
> Mohon Pencerahannya...
>
> Best Regards
>
>
>
>
>
>
>
>
>
Wassalam,
Kid.
2012/9/30 Kurei recca <yusajing_ehm@
> **
>
>
> Dear Mr Kid,
>
> Saya sudah coba tapi saya ingin bertanya beberapa hal lagi nih pak
>
> Bisa ga ketika macronya jalan, excel tetap dapat berfungsi seperti biasa ?
>
> Misal ketika bunyi beep itu keluar saya tetap dapat melakukan aktivitas di
> workbook tersebut ?
>
> Thx pak
>
> ------------
> *Dari:* Kurei recca <yusajing_ehm@
> *Kepada:* "belajar-excel@
> *Dikirim:* Minggu, 23 September 2012 13:59
> *Judul:* Bls: [belajar-excel] CODING MACRO BUNYI BEEP
>
> Makasih Mr Kid,
>
> dicoba dulu yaa,,
>
> thx yaa
> ------------
> *Dari:* Kid Mr. <mr.nmkid@gmail.
> *Kepada:* belajar-excel@
> *Dikirim:* Minggu, 23 September 2012 13:37
> *Judul:* Re: [belajar-excel] CODING MACRO BUNYI BEEP
>
>
> Hai Recca,
>
> File terlampir berisi UDF SoundWarning yang tugasnya hanya membunyikan
> file wav dengan kriteria tertentu. Mungkin kestabilannya masih harus diuji,
> karena hanya rewrite dari bahasa C++ ke VBA. Kalau yang ke VB6 bisa lebih
> stabil.
>
> Untuk mewarnai blinking, diatur melalui application.
> langsung. Jadi, application.
> nilai konstanta secara terus menerus dari 1 menjadi 2. Ketika
> application.
> kali buka workbook, set pertama saat open selalu nilai konstanta bernilai
> 1. Nilai konstanta ini disimpan dalam sebuah nama range bernama
> '_MyTrigger_
> Nilai dalam _MyTrigger_ lah yang menjadi nilai kondisi dalam Conditional
> Formatting (CF). Jadi blinking sebenarnya dilakukan oleh si CF karena ada
> pengubahan nilai _MyTrigger_ oleh application.
>
> Jadi nanti kalau ada yang gak stabil, coba perhatikan betul, sisi
> blinking-nya ada sisi sound-nya.
>
> Berikut gambaran tentang UDF SoundWarning
> UDF SoundWarning
>
>
>
>
>
>
>
>
>
> Syntax =SoundWarning( kriteria_mulai_
> [filefullname_
>
>
>
>
> kriteria_mulai_
> komputasi ekspresi tertentu
>
>
>
>
> jika nilainya <= 0, maka SoundWarning akan menghentikan bunyi
>
>
>
>
> jika nilainya > 0, maka SoundWarning akan memulai bunyi peringatan
>
>
>
> [pesan_warning] teks yang akan ditampilkan ke user yang menjadi nilai
> hasil UDF ini ketika kriteria_mulai_
>
> teks bisa berupa hasil komputasi ekspresi tertentu
>
>
>
>
>
> [filefullname_
> peringatan.
>
>
>
>
>
> nama file harus tertulis lengkap beserta drive dan foldernya
>
>
>
>
>
> bila file tidak ditentukan user atau file dari user tidak ditemukan, maka
> file default C:\Windows\Media\
>
> jika file tidak ditemukan, maka tidak ada suara peringatan yang dimainkan
>
>
>
>
>
>
>
>
>
>
>
>
>
>
> Result Jika nilai kriteria_mulai_
> akan dieksekusi menjadi suara peringatan disertai pesan teks dalam
> [pesan_warning]
> Jika nilai kriteria_mulai_
> dihentikan dan tidak ada pesan teks yang ditampilkan
>
>
>
>
>
>
>
>
>
>
>
>
> Contoh pemakaian :
>
>
>
>
>
>
>
>
>
>
> =SoundWarning( 1*(B3="a") , "Cell B3 tidak boleh 'a'" )
>
>
>
>
>
>
>
>
> Mainkan file default ketika isi cell B3 adalah teks 'a' (b3="a")
>
>
>
>
>
> kemudian dikonversi menjadi nilai (1*) dan tampilkan pesan berbunyi : Cell
> B3 tidak boleh 'a'
>
>
>
>
>
>
>
>
>
>
>
>
>
> =SoundWarning( 1*(B3="a") , "Cell B3 tidak boleh 'a'" ,
> "C:\Windows\
>
>
>
>
>
> Mainkan file bernama chord.wav yang ada di C:\Windows\Media\ ketika isi
> cell B3 adalah teks 'a' (b3="a")
>
> kemudian dikonversi menjadi nilai (1*) dan tampilkan pesan berbunyi : Cell
> B3 tidak boleh 'a'
>
>
>
>
>
>
>
>
>
>
>
>
> Peringatan !!!
>
>
>
>
>
>
>
>
>
> 1 Pastikan pada event workbook before close, baris terakhir sebelum End
> Sub diberi kode untuk menghentikan sound sebagai berikut :
> PlaySound vbnullstring,
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
> 2 Pada pengembangan untuk memasukkan UDF SoundWarning menjadi sebuah
> AddIn, sertai dengan class pengatur Workbook agar setiap workbook yang
> ditutup menjalankan
> PlaySound vbnullstring,
>
>
>
>
>
>
>
>
>
> kemudian pada file addin dilanjutkan dengan proses application.
> untuk memicu UDF SoundWarning pada workbook yang belum tertutup
>
>
>
>
>
>
>
>
>
>
>
> 3 Yang dimainkan biasanya file pertama yang dijumpai, tetapi hal ini
> masih belum stabil. Mungkin harus pakai midi supaya bisa bareng semua
> dimainkan dan biar ribut seperti pasar :D
> VBA Code untuk UDF SoundWarning :
> Public Declare Function PlaySound Lib "winmm.dll" Alias "PlaySoundA" ( _
> ByVal lpszName As String, ByVal hModule As Long, ByVal
> dwFlags As Long) As Long
>
> Public sAddr As String
>
> 'Kid,Jakarta, 2007-01-05,rewrite for VB6 and VBA
> 'SoundWarning : mengeksekusi file .wav dengan suatu kondisi tertentu dan
> memberi return value teks
> 'butuh WinAPI function PlaySound pada winmm.dll
> Public Function SoundWarning(
> Optional sWarning As String = "nah lo... ada yang gak
> pas", _
> Optional sFileName As String = vbNullString) As String
> Dim sFile As String, sCallerAddr As String
>
> Application.
> If LenB(sFileName) = 0 Then
> sFile = "C:\Windows\
> ElseIf LenB(Dir$(sFileName
> sFile = "C:\Windows\
> Else
> sFile = sFileName
> End If
>
> sCallerAddr = Application.
> If lStartPeringatan < 1 Then
> sAddr = Replace$(sAddr, sCallerAddr, vbNullString)
> If LenB(sAddr) = 0 Then
> PlaySound vbNullString, 0, 9
> End If
> SoundWarning = vbNullString
> Else
> If InStr(sAddr, sCallerAddr) = 0 Then
> sAddr = sAddr & sCallerAddr
> End If
> PlaySound sFile, 0, 9
> SoundWarning = sWarning
> End If
> End Function
>
>
> Module yang mengatur nilai dalam nama range _MyTrigger_ :
> Public lTimer As Long
>
> Public Sub MyTrigger()
> Select Case lTimer
> Case 0
> Application.
> Procedure:="
> StopMyTrigger
> Case 1, 2
> lTimer = 2 + (lTimer = 2)
> ThisWorkbook.
> Application.
> Procedure:="
> End Select
> End Sub
>
> Public Sub StopMyTrigger(
> Application.
> Procedure:="
> Schedule:=False
> End Sub
>
> Pengaturan saat open workbook :
> Private Sub Workbook_Open(
> lTimer = 1
> ThisWorkbook.
> MyTrigger
> End Sub
>
> Pengaturan saat workbook akan di close (before close)
> Private Sub Workbook_BeforeClos
> lTimer = 0
> ThisWorkbook.
> MyTrigger
>
> PlaySound vbNullString, 0, 9
> End Sub
>
> Moga-moga gak bikin crash ya...
>
> Wassalam,
> Kid.
>
>
> 2012/9/23 Kurei recca <yusajing_ehm@
>
> **
>
> Salam Para Master Excel,
>
> Ceritanya saya ingin membuat suatu coding dengan kondisi Jika Cell A1
> bertuliskan kata "TRUE" maka akan ada bunyi beep berulang selama 20 detik
> or periode tertentu dan Cell Tersebut kelap kelip berwarna kuning dan putih
> selama 20 detik tersebut.
>
> Kira2 bagaimana ya codingnya,,?
>
> Mohon Pencerahannya.
>
> Best Regards
>
>
>
>
>
>
>
>
>
Sat Sep 29, 2012 9:16 pm (PDT) . Posted by:
"Kurei recca" yusajing_ehm
Bisa Pak,
akan tetapi kadang bunyinya keluar terus pak, walaupun UDF nya sudah saya Hapus,,
Terus pak ada beberapa pertanyaan nih pak
1. Mohon penjelasannya untuk Sub "MyTrigger" bagaimana bisa dia berjalan sendiri tanpa di run ? *cuz di conditional formating dia terus berubah"
2. Jika saya ingin membatasi waktu berkedip dan bunyinya hanya 1 menit di bagian mana perlu saya modifikasi ya pak ?
Mohon Pencerahannya,
Terimakasih pak,,
________________________________
Dari: Kid Mr. <mr.nmkid@gmail.com >
Kepada: belajar-excel@yahoogroups.com
Dikirim: Minggu, 30 September 2012 9:37
Judul: Re: [belajar-excel] CODING MACRO BUNYI BEEP
Oh yang file kemarin gak bisa dipakai ya jika ada bunyi beep keluar ?
Wassalam,
Kid.
2012/9/30 Kurei recca <yusajing_ehm@yahoo.com >
>
>Dear Mr Kid,
>
>
>Saya sudah coba tapi saya ingin bertanya beberapa hal lagi nih pak
>
>
>Bisa ga ketika macronya jalan, excel tetap dapat berfungsi seperti biasa ?
>
>
>Misal ketika bunyi beep itu keluar saya tetap dapat melakukan aktivitas di workbook tersebut ?
>
>
>
>Thx pak
>
>
>
>
>________________________________
> Dari: Kurei recca <yusajing_ehm@yahoo.com >
>Kepada: "belajar-excel@yahoogroups.com " <belajar-excel@yahoogroups.com >
>Dikirim: Minggu, 23 September 2012 13:59
>Judul: Bls: [belajar-excel] CODING MACRO BUNYI BEEP
>
>
>
>Makasih Mr Kid,
>
>
>dicoba dulu yaa,,
>
>
>thx yaa
>
>
>________________________________
> Dari: Kid Mr. <mr.nmkid@gmail.com >
>Kepada: belajar-excel@yahoogroups.com
>Dikirim: Minggu, 23 September 2012 13:37
>Judul: Re: [belajar-excel] CODING MACRO BUNYI BEEP
>
>
>
>Hai Recca,
>
>File terlampir berisi UDF SoundWarning yang tugasnya hanya membunyikan file wav dengan kriteria tertentu. Mungkin kestabilannya masih harus diuji, karena hanya rewrite dari bahasa C++ ke VBA. Kalau yang ke VB6 bisa lebih stabil.
>
>Untuk mewarnai blinking, diatur melalui application.timer secara tidak langsung. Jadi, application.timer pada file terlampir hanya mengubah suatu nilai konstanta secara terus menerus dari 1 menjadi 2. Ketika application.timer dihentikan, maka nilai konstanta diset menjadi 0. Setiap kali buka workbook, set pertama saat open selalu nilai konstanta bernilai 1. Nilai konstanta ini disimpan dalam sebuah nama range bernama '_MyTrigger_'
>Nilai dalam _MyTrigger_ lah yang menjadi nilai kondisi dalam Conditional Formatting (CF). Jadi blinking sebenarnya dilakukan oleh si CF karena ada pengubahan nilai _MyTrigger_ oleh application.timer.
>
>Jadi nanti kalau ada yang gak stabil, coba perhatikan betul, sisi blinking-nya ada sisi sound-nya.
>
>Berikut gambaran tentang UDF SoundWarning
>
>UDF SoundWarning
>
>
>
>
>
>
>
>
>
>
>Syntax =SoundWarning( kriteria_mulai_warning , [pesan_warning], [filefullname_suara_peringatan] )
>
>
>
>
>
> kriteria_mulai_warning diisi nilai numerik, yang bisa berupa hasil komputasi ekspresi tertentu
>
>
>
>
>
> jika nilainya <= 0, maka SoundWarning akan menghentikan bunyi
>
>
>
>
>
> jika nilainya > 0, maka SoundWarning akan memulai bunyi peringatan
>
>
>
>
> [pesan_warning] teks yang akan ditampilkan ke user yang menjadi nilai hasil UDF ini ketika kriteria_mulai_warningbernilai >0.
>
>
> teks bisa berupa hasil komputasi ekspresi tertentu
>
>
>
>
>
>
> [filefullname_suara_peringatan] nama file suara yang akan dijadikan nada peringatan.
>
>
>
>
>
>
> nama file harus tertulis lengkap beserta drive dan foldernya
>
>
>
>
>
>
> bila file tidak ditentukan user atau file dari user tidak ditemukan, maka file default C:\Windows\Media\notify.wav akan dimainkan.
>
>
> jika file tidak ditemukan, maka tidak ada suara peringatan yang dimainkan
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>Result Jika nilai kriteria_mulai_warningbernilai >0, maka file suara akan dieksekusi menjadi suara peringatan disertai pesan teks dalam [pesan_warning]
>
> Jika nilai kriteria_mulai_warningbernilai <=0, maka suara peringatan dihentikan dan tidak ada pesan teks yang ditampilkan
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>Contoh pemakaian :
>
>
>
>
>
>
>
>
>
>
>
> =SoundWarning( 1*(B3="a") , "Cell B3 tidak boleh 'a'" )
>
>
>
>
>
>
>
>
>
> Mainkan file default ketika isi cell B3 adalah teks 'a' (b3="a")
>
>
>
>
>
>
> kemudian dikonversi menjadi nilai (1*) dan tampilkan pesan berbunyi : Cell B3 tidak boleh 'a'
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
> =SoundWarning( 1*(B3="a") , "Cell B3 tidak boleh 'a'", "C:\Windows\Media\chord.wav" )
>
>
>
>
>
>
> Mainkan file bernama chord.wavyang ada di C:\Windows\Media\ ketika isi cell B3 adalah teks 'a' (b3="a")
>
>
> kemudian dikonversi menjadi nilai (1*) dan tampilkan pesan berbunyi : Cell B3 tidak boleh 'a'
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>Peringatan !!!
>
>
>
>
>
>
>
>
>
>
>1 Pastikan pada event workbook before close, baris terakhir sebelum End Sub diberi kode untuk menghentikan sound sebagai berikut :
>
> PlaySound vbnullstring,0,9
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>2 Pada pengembangan untuk memasukkan UDF SoundWarning menjadi sebuah AddIn, sertai dengan class pengatur Workbook agar setiap workbook yang ditutup menjalankan
>
> PlaySound vbnullstring,0,9
>
>
>
>
>
>
>
>
>
>
> kemudian pada file addin dilanjutkan dengan proses application.calculate untuk memicu UDF SoundWarning pada workbook yang belum tertutup
>
>
>
>
>
>
>
>
>
>
>
>
>
>3 Yang dimainkan biasanya file pertama yang dijumpai, tetapi hal ini masih belum stabil. Mungkin harus pakai midi supaya bisa bareng semua dimainkan dan biar ribut seperti pasar :D
>VBA Code untuk UDF SoundWarning :
>Public Declare Function PlaySound Lib "winmm.dll" Alias "PlaySoundA" ( _
> ByVal lpszName As String, ByVal hModule As Long, ByVal dwFlags As Long) As Long
>
>Public sAddr As String
>
>'Kid,Jakarta, 2007-01-05,rewrite for VB6 and VBA
>'SoundWarning : mengeksekusi file .wav dengan suatu kondisi tertentu dan memberi return value teks
>'butuh WinAPI function PlaySound pada winmm.dll
>Public Function SoundWarning(lStartPeringatan As Long, _
> Optional sWarning As String = "nah lo... ada yang gak pas", _
> Optional sFileName As String = vbNullString) As String
> Dim sFile As String, sCallerAddr As String
>
> Application.Volatile
> If LenB(sFileName) = 0 Then
> sFile = "C:\Windows\Media\notify.wav"
> ElseIf LenB(Dir$(sFileName)) = 0 Then
> sFile = "C:\Windows\Media\notify.wav"
> Else
> sFile = sFileName
> End If
>
> sCallerAddr = Application.Caller.Address & "|"
> If lStartPeringatan < 1 Then
> sAddr = Replace$(sAddr, sCallerAddr, vbNullString)
> If LenB(sAddr) = 0 Then
> PlaySound vbNullString, 0, 9
> End If
> SoundWarning = vbNullString
> Else
> If InStr(sAddr, sCallerAddr) = 0 Then
> sAddr = sAddr & sCallerAddr
> End If
> PlaySound sFile, 0, 9
> SoundWarning = sWarning
> End If
>End Function
>
>
>Module yang mengatur nilai dalam nama range _MyTrigger_ :
>Public lTimer As Long
>
>Public Sub MyTrigger()
> Select Case lTimer
> Case 0
> Application.OnTime EarliestTime:=Now + TimeValue("00:00:01"), _
> Procedure:="MyTrigger"
> StopMyTrigger
> Case 1, 2
> lTimer = 2 + (lTimer = 2)
> ThisWorkbook.Names("_MyTrigger_").Value = lTimer
> Application.OnTime EarliestTime:=Now + TimeValue("00:00:01"), _
> Procedure:="MyTrigger"
> End Select
>End Sub
>
>Public Sub StopMyTrigger()
> Application.OnTime EarliestTime:=Now + TimeValue("00:00:01"), _
> Procedure:="MyTrigger", _
> Schedule:=False
>End Sub
>
>Pengaturan saat open workbook :
>Private Sub Workbook_Open()
> lTimer = 1
> ThisWorkbook.Names("_MyTrigger_").Value = lTimer
> MyTrigger
>End Sub
>
>Pengaturan saat workbook akan di close (before close)
>Private Sub Workbook_BeforeClose(Cancel As Boolean)
> lTimer = 0
> ThisWorkbook.Names("_MyTrigger_").Value = lTimer
> MyTrigger
>
> PlaySound vbNullString, 0, 9
>End Sub
>
>Moga-moga gak bikin crash ya...
>
>Wassalam,
>Kid.
>
>
>
>2012/9/23 Kurei recca <yusajing_ehm@yahoo.com >
>
>
>>
>>Salam Para Master Excel,
>>
>>Ceritanya saya ingin membuat suatu coding dengan kondisi Jika Cell A1 bertuliskan kata "TRUE" maka akan ada bunyi beep berulang selama 20 detik or periode tertentu dan Cell Tersebut kelap kelip berwarna kuning dan putih selama 20 detik tersebut.
>>
>>Kira2 bagaimana ya codingnya,,?
>>
>>Mohon Pencerahannya...
>>
>>Best Regards
>>
>>
>>
>>
>
>
>
>
>
akan tetapi kadang bunyinya keluar terus pak, walaupun UDF nya sudah saya Hapus,,
Terus pak ada beberapa pertanyaan nih pak
1. Mohon penjelasannya untuk Sub "MyTrigger" bagaimana bisa dia berjalan sendiri tanpa di run ? *cuz di conditional formating dia terus berubah"
2. Jika saya ingin membatasi waktu berkedip dan bunyinya hanya 1 menit di bagian mana perlu saya modifikasi ya pak ?
Mohon Pencerahannya,
Terimakasih pak,,
____________
Dari: Kid Mr. <mr.nmkid@gmail.
Kepada: belajar-excel@
Dikirim: Minggu, 30 September 2012 9:37
Judul: Re: [belajar-excel] CODING MACRO BUNYI BEEP
Oh yang file kemarin gak bisa dipakai ya jika ada bunyi beep keluar ?
Wassalam,
Kid.
2012/9/30 Kurei recca <yusajing_ehm@
>
>Dear Mr Kid,
>
>
>Saya sudah coba tapi saya ingin bertanya beberapa hal lagi nih pak
>
>
>Bisa ga ketika macronya jalan, excel tetap dapat berfungsi seperti biasa ?
>
>
>Misal ketika bunyi beep itu keluar saya tetap dapat melakukan aktivitas di workbook tersebut ?
>
>
>
>Thx pak
>
>
>
>
>___________
> Dari: Kurei recca <yusajing_ehm@
>Kepada: "belajar-excel@
>Dikirim: Minggu, 23 September 2012 13:59
>Judul: Bls: [belajar-excel] CODING MACRO BUNYI BEEP
>
>
>
>Makasih Mr Kid,
>
>
>dicoba dulu yaa,,
>
>
>thx yaa
>
>
>___________
> Dari: Kid Mr. <mr.nmkid@gmail.
>Kepada: belajar-excel@
>Dikirim: Minggu, 23 September 2012 13:37
>Judul: Re: [belajar-excel] CODING MACRO BUNYI BEEP
>
>
>
>Hai Recca,
>
>File terlampir berisi UDF SoundWarning yang tugasnya hanya membunyikan file wav dengan kriteria tertentu. Mungkin kestabilannya masih harus diuji, karena hanya rewrite dari bahasa C++ ke VBA. Kalau yang ke VB6 bisa lebih stabil.
>
>Untuk mewarnai blinking, diatur melalui application.
>Nilai dalam _MyTrigger_ lah yang menjadi nilai kondisi dalam Conditional Formatting (CF). Jadi blinking sebenarnya dilakukan oleh si CF karena ada pengubahan nilai _MyTrigger_ oleh application.
>
>Jadi nanti kalau ada yang gak stabil, coba perhatikan betul, sisi blinking-nya ada sisi sound-nya.
>
>Berikut gambaran tentang UDF SoundWarning
>
>UDF SoundWarning
>
>
>
>
>
>
>
>
>
>
>Syntax =SoundWarning( kriteria_mulai_
>
>
>
>
>
> kriteria_mulai_
>
>
>
>
>
> jika nilainya <= 0, maka SoundWarning akan menghentikan bunyi
>
>
>
>
>
> jika nilainya > 0, maka SoundWarning akan memulai bunyi peringatan
>
>
>
>
> [pesan_warning] teks yang akan ditampilkan ke user yang menjadi nilai hasil UDF ini ketika kriteria_mulai_
>
>
> teks bisa berupa hasil komputasi ekspresi tertentu
>
>
>
>
>
>
> [filefullname_
>
>
>
>
>
>
> nama file harus tertulis lengkap beserta drive dan foldernya
>
>
>
>
>
>
> bila file tidak ditentukan user atau file dari user tidak ditemukan, maka file default C:\Windows\Media\
>
>
> jika file tidak ditemukan, maka tidak ada suara peringatan yang dimainkan
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>Result Jika nilai kriteria_mulai_
>
> Jika nilai kriteria_mulai_
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>Contoh pemakaian :
>
>
>
>
>
>
>
>
>
>
>
> =SoundWarning( 1*(B3="a") , "Cell B3 tidak boleh 'a'" )
>
>
>
>
>
>
>
>
>
> Mainkan file default ketika isi cell B3 adalah teks 'a' (b3="a")
>
>
>
>
>
>
> kemudian dikonversi menjadi nilai (1*) dan tampilkan pesan berbunyi : Cell B3 tidak boleh 'a'
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
> =SoundWarning( 1*(B3="a") , "Cell B3 tidak boleh 'a'", "C:\Windows\
>
>
>
>
>
>
> Mainkan file bernama chord.wavyang ada di C:\Windows\Media\ ketika isi cell B3 adalah teks 'a' (b3="a")
>
>
> kemudian dikonversi menjadi nilai (1*) dan tampilkan pesan berbunyi : Cell B3 tidak boleh 'a'
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>Peringatan !!!
>
>
>
>
>
>
>
>
>
>
>1 Pastikan pada event workbook before close, baris terakhir sebelum End Sub diberi kode untuk menghentikan sound sebagai berikut :
>
> PlaySound vbnullstring,
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>2 Pada pengembangan untuk memasukkan UDF SoundWarning menjadi sebuah AddIn, sertai dengan class pengatur Workbook agar setiap workbook yang ditutup menjalankan
>
> PlaySound vbnullstring,
>
>
>
>
>
>
>
>
>
>
> kemudian pada file addin dilanjutkan dengan proses application.
>
>
>
>
>
>
>
>
>
>
>
>
>
>3 Yang dimainkan biasanya file pertama yang dijumpai, tetapi hal ini masih belum stabil. Mungkin harus pakai midi supaya bisa bareng semua dimainkan dan biar ribut seperti pasar :D
>VBA Code untuk UDF SoundWarning :
>Public Declare Function PlaySound Lib "winmm.dll" Alias "PlaySoundA" ( _
> ByVal lpszName As String, ByVal hModule As Long, ByVal dwFlags As Long) As Long
>
>Public sAddr As String
>
>'Kid,Jakarta, 2007-01-05,rewrite for VB6 and VBA
>'SoundWarning : mengeksekusi file .wav dengan suatu kondisi tertentu dan memberi return value teks
>'butuh WinAPI function PlaySound pada winmm.dll
>Public Function SoundWarning(
> Optional sWarning As String = "nah lo... ada yang gak pas", _
> Optional sFileName As String = vbNullString) As String
> Dim sFile As String, sCallerAddr As String
>
> Application.
> If LenB(sFileName) = 0 Then
> sFile = "C:\Windows\
> ElseIf LenB(Dir$(sFileName
> sFile = "C:\Windows\
> Else
> sFile = sFileName
> End If
>
> sCallerAddr = Application.
> If lStartPeringatan < 1 Then
> sAddr = Replace$(sAddr, sCallerAddr, vbNullString)
> If LenB(sAddr) = 0 Then
> PlaySound vbNullString, 0, 9
> End If
> SoundWarning = vbNullString
> Else
> If InStr(sAddr, sCallerAddr) = 0 Then
> sAddr = sAddr & sCallerAddr
> End If
> PlaySound sFile, 0, 9
> SoundWarning = sWarning
> End If
>End Function
>
>
>Module yang mengatur nilai dalam nama range _MyTrigger_ :
>Public lTimer As Long
>
>Public Sub MyTrigger()
> Select Case lTimer
> Case 0
> Application.
> Procedure:="
> StopMyTrigger
> Case 1, 2
> lTimer = 2 + (lTimer = 2)
> ThisWorkbook.
> Application.
> Procedure:="
> End Select
>End Sub
>
>Public Sub StopMyTrigger(
> Application.
> Procedure:="
> Schedule:=False
>End Sub
>
>Pengaturan saat open workbook :
>Private Sub Workbook_Open(
> lTimer = 1
> ThisWorkbook.
> MyTrigger
>End Sub
>
>Pengaturan saat workbook akan di close (before close)
>Private Sub Workbook_BeforeClos
> lTimer = 0
> ThisWorkbook.
> MyTrigger
>
> PlaySound vbNullString, 0, 9
>End Sub
>
>Moga-moga gak bikin crash ya...
>
>Wassalam,
>Kid.
>
>
>
>2012/9/23 Kurei recca <yusajing_ehm@
>
>
>>
>>Salam Para Master Excel,
>>
>>Ceritanya saya ingin membuat suatu coding dengan kondisi Jika Cell A1 bertuliskan kata "TRUE" maka akan ada bunyi beep berulang selama 20 detik or periode tertentu dan Cell Tersebut kelap kelip berwarna kuning dan putih selama 20 detik tersebut.
>>
>>Kira2 bagaimana ya codingnya,,?
>>
>>Mohon Pencerahannya.
>>
>>Best Regards
>>
>>
>>
>>
>
>
>
>
>
Sat Sep 29, 2012 7:52 pm (PDT) . Posted by:
"sapicumi" sapicumi@rocketmail.com
adakah yg bisa memberi pencerahaaan ttng maslah di atas
--
View this message in context: http://milis-belajar-excel.1048464.n5.nabble.com/LOGIN-FORM-EMBED-COMMANBUTTON-tp5712135p5712184.html
Sent from the Milis Belajar Excel mailing list archive at Nabble.com.
--
View this message in context: http://milis-
Sent from the Milis Belajar Excel mailing list archive at Nabble.com.
Sat Sep 29, 2012 8:00 pm (PDT) . Posted by:
"Kid Mr." nmkid.family@ymail.com
'cek username diatas sini
'cek pwd sebagai berikut
IF pass=Sheets("tbluser").range("d" & lcari).value then
range("j3").value =Sheets("tbluser").range("e" & lcari).value
else
range("j3").clearcontents
endif
'proses enabled disini
Wassalam,
Kid.
2012/9/28 sapicumi <sapicumi@rocketmail.com >
> **
>
>
> trimakasih untuk pak karnadi dan kid atas masukanya sehingga memberi saya
> pencerahan sebagai berikut
>
> Private Sub cmdkon_Click()
> 'Membuat variabel
> Dim user As String
> Dim pass As String
> Dim lcari As Long
> Dim kcari As Long
>
> 'Memastikan
> If Trim(txtuser.Value) = "" Then
> MsgBox "USER ID", vbInformation, "Info"
> Exit Sub
> End If
> On Error Resume Next
> user = LCase(Trim(txtuser.Value))
> pass = LCase(Trim(txtpass.Value))
> lcari = 0
> 'kcari = 0
> lcari = Sheets("tbluser").Columns("C:C").Find(user).Row
> 'kcari = Sheets("tbluser").Columns("D:D").Find(pass).Row
> 'Jika pencarian gagal maka nilai variabel lCari akan tetap nol
> If lcari = 0 Then
> MsgBox "USER ID " & user & " tidak ditemukan!!" & Chr(13) & _
> "Silahkan isikan yang lain", vbInformation, "Info"
> txtuser.Value = ""
> txtpass.Value = ""
> Exit Sub
> End If
> With Sheets("tbluser")
> Range("J3").Value = .Range("E" & lcari).Value
> 'With Sheets("frmbarangmasuk")
> Sheets("frmbarangmasuk").Range("C10").Value = txtuser.Value
> Sheets("frmbarangkeluar").Range("C10").Value = txtuser.Value
> txtuser.Value = ""
> txtpass.Value = ""
> End With
> If Range("J3").Value = "User" Then
> cmdinputdata.Enabled = True
> cmdtransaksi.Enabled = True
> cmdtransaksib.Enabled = True
> Else
> If Range("J3").Value = "Admin" Then
> cmdadmin.Enabled = True
> End If
> End If
> End Sub
>
> namun itu hanya untuk user name saja untuk pasword tidak bisa ada kah yg
> dapat memberi ide untk even mencocokan User dan Password file terlampir
> LOGIN.xlsm
> <http://milis-belajar-excel.1048464.n5.nabble.com/file/n5712154/LOGIN.xlsm >
>
> mohon pencerahanya
> terimakasih
> jojo
>
> --
> View this message in context:
> http://milis-belajar-excel.1048464.n5.nabble.com/LOGIN-FORM-EMBED-COMMANBUTTON-tp5712135p5712154.html
>
> Sent from the Milis Belajar Excel mailing list archive at Nabble.com.
>
>
>
'cek pwd sebagai berikut
IF pass=Sheets(
range("j3").
else
range("j3").
endif
'proses enabled disini
Wassalam,
Kid.
2012/9/28 sapicumi <sapicumi@rocketmail
> **
>
>
> trimakasih untuk pak karnadi dan kid atas masukanya sehingga memberi saya
> pencerahan sebagai berikut
>
> Private Sub cmdkon_Click(
> 'Membuat variabel
> Dim user As String
> Dim pass As String
> Dim lcari As Long
> Dim kcari As Long
>
> 'Memastikan
> If Trim(txtuser.
> MsgBox "USER ID", vbInformation, "Info"
> Exit Sub
> End If
> On Error Resume Next
> user = LCase(Trim(txtuser.
> pass = LCase(Trim(txtpass.
> lcari = 0
> 'kcari = 0
> lcari = Sheets("tbluser"
> 'kcari = Sheets("tbluser"
> 'Jika pencarian gagal maka nilai variabel lCari akan tetap nol
> If lcari = 0 Then
> MsgBox "USER ID " & user & " tidak ditemukan!!" & Chr(13) & _
> "Silahkan isikan yang lain", vbInformation, "Info"
> txtuser.Value = ""
> txtpass.Value = ""
> Exit Sub
> End If
> With Sheets("tbluser"
> Range("J3").
> 'With Sheets("frmbarangma
> Sheets("frmbarangma
> Sheets("frmbarangke
> txtuser.Value = ""
> txtpass.Value = ""
> End With
> If Range("J3").
> cmdinputdata.
> cmdtransaksi.
> cmdtransaksib.
> Else
> If Range("J3").
> cmdadmin.Enabled = True
> End If
> End If
> End Sub
>
> namun itu hanya untuk user name saja untuk pasword tidak bisa ada kah yg
> dapat memberi ide untk even mencocokan User dan Password file terlampir
> LOGIN.xlsm
> <http://milis-
>
> mohon pencerahanya
> terimakasih
> jojo
>
> --
> View this message in context:
> http://milis-
>
> Sent from the Milis Belajar Excel mailing list archive at Nabble.com.
>
>
>
Sat Sep 29, 2012 8:40 pm (PDT) . Posted by:
"Kid Mr." nmkid.family@ymail.com
hehehe...
mungkin idenya aneh, karena formula IF yang sudah bagus dan betul masih
harus diubah-ubah dengan formula yang gak mesti betul hasilnya dan bikin
repot.
File terlampir sheet kriteria adalah contoh penyingkatan IF yang gak karuan
panjangya (walau hasilnya belum tentu benar [relatif terhadap susunan tabel
referensi])
*Kegiatan melookup data adalah kegiatan pengkondisian dengan banyak
kriteria.*
Jadi kalau kriterianya banyak, maka pengkondisiannya pasti akan banyak dan
bersarang sampai level cicit atau grand cicit.
Maka disitulah salah satu manfaat dari fungsi-fungsi dalam kelompok lookup.
Dengan adanya tabel C sampai F, maka formula IF bisa disingkat menjadi :
=LOOKUP(2,1/(($C$3:$C$28<=*I5*)*($D$3:$D$28>*I5*)*($E$3:$E$28<=*J5*
)),$F$3:$F$28)
(lumayan loh, dari fungsi IF yang 1151 karakter menjadi fungsi lookup yang
75 karakter)
Ketika akan digunakan di VBA,
maka yang diganti adalah yang *biru*
contoh :
dim sFormula as string
sformula="=LOOKUP(2,1/(($C$3:$C$28<=*I5*)*($D$3:$D$28>*I5*)*($E$3:$E$28<=*J5
*)),$F$3:$F$28)"
'yang *I5 *diganti dengan nilai bertipe angka yang nilainya 17
sformula=replace$( sformula , "*I5*" , 17 )
'yang *J5 *diganti dengan nilai bertipe numerik yang nilainya 17000000
sformula=replace$( sformula , "*J5*" , 17000000 )
'lalu tulis hasilnya
range(yangditulisi).value = evaluate(sformula)
Kid.
2012/9/29 Kid Mr. <mr.nmkid@gmail.com >
> Mungkin ada baiknya, susunan kriteria yang dituangkan dalam IF yang
> berderet demikian, disusun menjadi sebuah tabel kriteria yang sederhana.
> Kemudian manfaatkan fungsi lookup dan reference seperti LookUp, VLookUp,
> Index Match, atau Offset Match.
> Jika sudah mendapatkan formula dalam sheet, maka susunan formula tersebut
> bisa lebih mudah dituangkan dalam VBA.
>
> Kid.
>
>
> 2012/9/28 Longinus Along <longinus.along@yahoo.com >
>
>> **
>>
>>
>> Dear all Master,
>>
>> Please help me,...untuk coding rumus textbox, kasus per kasus sudah saya
>> rincikan pada file yang terlampir pada email ini.
>>
>> salam
>> Along
>>
>>
>>
>>
>
mungkin idenya aneh, karena formula IF yang sudah bagus dan betul masih
harus diubah-ubah dengan formula yang gak mesti betul hasilnya dan bikin
repot.
File terlampir sheet kriteria adalah contoh penyingkatan IF yang gak karuan
panjangya (walau hasilnya belum tentu benar [relatif terhadap susunan tabel
referensi])
*Kegiatan melookup data adalah kegiatan pengkondisian dengan banyak
kriteria.*
Jadi kalau kriterianya banyak, maka pengkondisiannya pasti akan banyak dan
bersarang sampai level cicit atau grand cicit.
Maka disitulah salah satu manfaat dari fungsi-fungsi dalam kelompok lookup.
Dengan adanya tabel C sampai F, maka formula IF bisa disingkat menjadi :
=LOOKUP(2,1/
)),$F$3:$F$28)
(lumayan loh, dari fungsi IF yang 1151 karakter menjadi fungsi lookup yang
75 karakter)
Ketika akan digunakan di VBA,
maka yang diganti adalah yang *biru*
contoh :
dim sFormula as string
sformula="=LOOKUP(
*)),$F$3:$F$
'yang *I5 *diganti dengan nilai bertipe angka yang nilainya 17
sformula=replace$
'yang *J5 *diganti dengan nilai bertipe numerik yang nilainya 17000000
sformula=replace$
'lalu tulis hasilnya
range(yangditulisi)
Kid.
2012/9/29 Kid Mr. <mr.nmkid@gmail.
> Mungkin ada baiknya, susunan kriteria yang dituangkan dalam IF yang
> berderet demikian, disusun menjadi sebuah tabel kriteria yang sederhana.
> Kemudian manfaatkan fungsi lookup dan reference seperti LookUp, VLookUp,
> Index Match, atau Offset Match.
> Jika sudah mendapatkan formula dalam sheet, maka susunan formula tersebut
> bisa lebih mudah dituangkan dalam VBA.
>
> Kid.
>
>
> 2012/9/28 Longinus Along <longinus.along@
>
>> **
>>
>>
>> Dear all Master,
>>
>> Please help me,...untuk coding rumus textbox, kasus per kasus sudah saya
>> rincikan pada file yang terlampir pada email ini.
>>
>> salam
>> Along
>>
>>
>>
>>
>
Sun Sep 30, 2012 3:48 am (PDT) . Posted by:
"ngademin Thohari" ngademinth
P' Kids dan be-exceller
Mungkin kah begini ringkasnya seperti dilampiran,
Membatasiinput� hanya bisa di kolom B,C,D
dan
bila kolom B,C, D belum terisi semua ,
atau
tidak menunjukkan hasil OK,
maka
input tidak akan bisa melanjutkan ke step selanjutnya
Terima kasih
amin
________________________________
Mungkin kah begini ringkasnya seperti dilampiran,
Membatasiinput� hanya bisa di kolom B,C,D
dan
bila kolom B,C, D belum terisi semua ,
atau
tidak menunjukkan hasil OK,
maka
input tidak akan bisa melanjutkan ke step selanjutnya
Terima kasih
amin
____________
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
---------------------------------------------------------------------
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
---------------------------------------------------------------------