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 menurut kolom 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 AvailCell* As 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