Minggu, 30 September 2012

[belajar-excel] Digest Number 1814

14 New Messages

Digest #1814
1b
Re: INPUT, EDIT & PINDAH TABEL by "Kid Mr." nmkid.family@ymail.com
2a
Re: Tanya rumus by "utthank abe" abe_utthank
2b
Trs: [belajar-excel] Tanya rumus by "Shenly Ruchman" shenly_excelmania
3a
3b
3c
3d
Re: CODING MACRO BUNYI BEEP by "Kid Mr." nmkid.family@ymail.com
3e
4a
Re: LOGIN FORM & EMBED COMMANBUTTON by "sapicumi" sapicumi@rocketmail.com
4b
Re: LOGIN FORM & EMBED COMMANBUTTON by "Kid Mr." nmkid.family@ymail.com
5a
Re: Rumus pada textbox. by "Kid Mr." nmkid.family@ymail.com

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.
>
>
>

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.
>
>
>
>
>
>

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.
>>
>>
>>
>
>

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

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

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
>
>
>
>

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 sndPlaySoundA sehingga 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
>>>
>>>
>>>
>>
>>
>>
>

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
>
>
>
>

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
>
>
>
>
>
>
>
>
>

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
>>
>>
>>
>>
>
>
>
>
>

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.

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.
>
>
>

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
>>
>>
>>
>>
>

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

________________________________
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
---------------------------------------------------------------------
READ MORE....