Ok, terima kasih. Saya sdh dapat poinnya. Salam,
Hendrik Karnadi ________________________________ From: Kid Mr. <mr.nm...@gmail.com> To: belajar-excel@yahoogroups.com Sent: Sunday, 23 September 2012, 21:18 Subject: Re: Fw: [belajar-excel] Menghasilan Nilai Unique Silakan Pak Hendrik. Supaya diskusi bisa lebih berkembang. Berikut petikan syarat unik berdasar kolom C : "Syarat unik menurut kolom C adalah jumlah cacah di kolom C terhadap data bernilai inputan harus bernilai 0. Berbeda dengan yang UniqueVal ya" Kenapa kok berbeda ya ? Dari konsep itulah maka akan terbentuk pengkondisian dengan struktur : IF uniqueval=1 then IF menurutC = 0 then 'kondisi 1 else 'kondisi 2 endif else if menurutC = 0 then 'kondisi 4 else 'kondisi 3 endif endif Idealnya, jika tidak dinyatakan unik oleh kolom C, maka tidak boleh ditulis di kolom C Idealnya, jika inputan di kolom A ternyata tidak unik menurut A walau dinyatakan unik menurut kolom C, maka pasti harus ada perlakuan untuk menghindari kemungkinan terjadinya kondisi ini. Perkiraannya, usai pembahasan mengenai pengkondisian yang 4 tersebut, akan ada masalah lagi dengan inputan di kolom A, karena dikolom A belum ada tapi di kolom C sudah ada. Nah untuk hal ini titik awalnya ada di baris : ActiveCell.Offset(-1, 0).Select yang seharusnya tidak sekedar select tapi justru mengembalikan isi sebelum diubah oleh user, padahal pengubahan oleh user itu malah membuat data jadi gak karuan, baik di kolom A maupun di kolom C (rudundant). Wassalam, Kid. 2012/9/23 hendrik karnadi <hendrikkarn...@yahoo.com> > >Boleh ikutan kan Mr. Kid ? > >Mengenai Kondisi 1, menurut kolom A Unik dan menurutkolom C Unik, prosesnya >tulis di C > > >Pertanyaannya : >Jika kolom C Unik (ada), apakah kolom C masih boleh ditulis ? > >Terima kasih. > >Salam, >Hendrik Karnadi > > > > >----- Forwarded Message ----- >From: Kid Mr. <mr.nm...@gmail.com> >To: belajar-excel@yahoogroups.com >Sent: Sunday, 23 September 2012, 15:16 >Subject: Re: [belajar-excel] Menghasilan Nilai Unique > > > >Waalaikumussalam Wr. Wb. > >Pak Sony, > >berikut ini isi dari event worksheet change yang ada dalam file Bapak. >Private Sub Worksheet_Change(ByVal Target As Range) > Dim AvailCellAs Long, UniqueVal As Long > > > AvailCell = WorksheetFunction.CountA(Range("C2:C1048576")) + 2 > UniqueVal = WorksheetFunction.CountIf(Range("A2:A1048576"), Range("A" & >Target.Row)) > > If Target.Column = 1 And Target.Row > 1 Then > If UniqueVal = 1 Then > Range("C" & AvailCell).Value = Range("A" & Target.Row).Value > Exit Sub > End If > MsgBox ("Nilai sudah ada. Ulangi") > ActiveCell.Offset(-1, 0).Select > End If >End Sub >Yang merah adalah tambahan >Yang hijau adalah penyesuaian layout penulisan agar lebih mudah dirunut (hanya >kebiasaan saja, tapi kebiasaan ini cukup baik dan banyak bermanfaat) > >Bagaimana jika dijabarkan seluruh kondisi yang mungkin terjadi berdasar kedua >kolom tersebut terhadap nilai inputan user dikolom A: >kondisi menurut kolom A menurut kolom >C prosesnya >1 Unik >Unik tulis di C >2 Unik Tidak >Unik gak boleh tulis di C tapi diapakan ? (belum ada) >3 Tidak Unik Tidak >Unik gak boleh tulis di C, beri pesan dan cell aktif >kembali ke cell yang diubah >4 Tidak Unik Unik mau diapakan ? (belum ada) > >Jadi, dibutuhkan 2 variabel cek, yaitu : >1. berdasar kolom A (Anda sudah punya bernama UniqueVal) >2. berdasar kolom C (karena belum punya, maka perlu dibuat) > >Syarat unik menurut kolom C adalah jumlah cacah di kolom C terhadap data >bernilai inputan harus bernilai 0. Berbeda dengan yang UniqueVal ya > >Susunan pengkondisiannya : >IF uniqueval=1 then > IF menurutC = 0 then > 'kondisi 1 > else > 'kondisi 2 > endif >else > if menurutC = 0 then > 'kondisi 4 > else > 'kondisi 3 > endif >endif > >Kira-kira cukup ya untuk jadi bahan uji coba... >Mungkin sebaiknya dicoba dulu. >Kalau udah mulai nyut-nyut mikirinnya, bisa diungkapkan ke milis lagi > >Selamat mencoba > >Wassalamualaikum Wr. Wb. >Kid. > >P.S. >File terlampir adalah iseng jika tanpa VBA. >Jangan terlalu dipikirkan dan tetap fokus dulu dengan permasalahan di atas tadi >Tetap semangat >;) > > > > > > >2012/9/23 Sony Ario <sony.ar...@gmail.com> > > >> >>Assalamualaikum teman2 BeExcel. >> >>Mohon bantuan. Pada file excel terlampir, saya berusaha untuk menghasilkan >>nilai Unique yang di input di kolom A. Dan hasil nya, nilai unique tersebut >>di masukan di kolom C (mulai dari C2 dst) dengan menggunakan Macro. >> >>Macro bekerja dengan baik saat saya input nilai baru di tiap2 baris di kolom >>A. Akan tetapi apa bila saya kembali ke cell yang sudah ada nilai nya, dan >>saya ketik ulang nilai yang ada pada cell tersebut macro nya tidak bekerja. >>Sehingga di kolom C, nilai tersebut masuk lagi. Di file terlampir saya contoh >>kan, setelah saya input semua, dan saya kembali ke cell A3, maka nilai >>"Duren" akan di input lagi (saya highlight di cell C3 dan C4), yg mana >>semestinya tidak. Dimanakah letak kesalahan nya ? >> >>Saya mengerti mungkin ada banyak cara yang lebih efisien dan dengan logika >>pemrograman yang lebih baik. Namun ini hanyalah cara dari seorang pemula yg >>baru niat mendalami Excel dan VBA :)... terima kasih sebelumnya saya ucapkan. >> >>Wassalam >>Sony >> >> > > >