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

 

Kirim email ke