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 <[email protected]> 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. <[email protected]>
> *Kepada:* [email protected]
> *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.
>
>
>