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