Ops kayanya ada yang lupa .column deh.
Yang hijau adalah perbaikannya.
Jangan lupa, Bapak harus dapat nomor SO dulu. Artinya, bagian ini harus
masuk setelah bagian pengambil nomor so
Lalu, nomor SO itu disimpan dalam sebuah variabel dan variabelnya di
masukkan ke baris ini :
vso =  apanamavariabelnomorso-nya          'sumbernya diletakkan disini

coba ganti dengan yang ini :
'asumsi :
'- sheet 'Master Order' data di B5:e10000 tidak ada baris kosong. Header
entah dibaris berapa,
'andai dibaris 5 pun juga gak apa.
'- formula tadi pagi baru berdasar no so dan lookup ke kolom C:L, jadi so
ada di kolom C (3),
'harga di kolom L (12)
'- kode part ada di kolom e (5) berdasar penggalan vba berbunyi :
'With Worksheets("Master Order").Range("b5:e10000")
'karena sampai repot-repot ambil data sampai di kolom E. kalau salah ya
diganti saja
'- composite key oleh kode dan so bersifat unik
'- kode part dari Set c = .Find(kodebarang, LookIn:=xlValues)

dim rngData as range,rngAnchor as range
dim lColTabel as long, lColSO as long, lColKode as long, lColHarga as long

'ganti tipe datanya dengan yang sesuai tipedata aslinya, sementara pakai
variant dulu
dim vKode as variant, vSO as variant, vHarga as variant

set rngdata=sheets("Master Order").range("b5").currentregion
with rngdata
      .parent.autofiltermode=false
      lcoltabel= .resize(,1)*.column*
      set rnganchor=.resize(,1).offset(1,0).resize(.rows.count-1)
      lcolSO= 3 - lcoltabel +1
      lcolkode=5-lcoltabel+1
      lcolharga=12-lcoltabel+1
      vkode =  *kodebarang*        'sumbernya diletakkan disini
      vso =                                'sumbernya diletakkan disini
      .autofilter lcolso, vso
      .autofilter lcolkode, vkode
      if .resize(,1).specialcells( xlcelltypevisible ).count > 1 then
             'asumsi : me.harga ini adalah textbox
            Me.Harga.text= _
            rnganchor*.specialcells(xlcelltypevisible)*.areas(1) _
                    .resize(1,1).offset(0,lcolharga-1).value
      else
            Me.Harga.text="0"
      endif
      .parent.autofiltermode=false
end with


hehehe...
sorry banget, belum bisa buka Excelnya. Moga-moga yang lebih baru ini bisa
jalan. Kalau masih salah ambil nilai, mungkin jadi lebih mudah karena dah
bisa jalan.

Kid.

2012/9/20 Kid Mr. <mr.nm...@gmail.com>

> Oh oke,
>
> hehehe... moga-moga gak salah amat... belum bisa buka filenya, jadi
> kira-kira berdasar formula tadi siang dan penggalan VBA...
>
> Bagian yang bapak Copas, mulai dari With sampai End With nya nanti dinon
> aktifkan dulu, kemudian coba tulis dibawahnya script berikut :
>
> 'asumsi :
> '- sheet 'Master Order' data di B5:e10000 tidak ada baris kosong. Header
> entah dibaris berapa,
> 'andai dibaris 5 pun juga gak apa.
> '- formula tadi pagi baru berdasar no so dan lookup ke kolom C:L, jadi so
> ada di kolom C (3),
> 'harga di kolom L (12)
> '- kode part ada di kolom e (5) berdasar penggalan vba berbunyi :
> 'With Worksheets("Master Order").Range("b5:e10000")
> 'karena sampai repot-repot ambil data sampai di kolom E. kalau salah ya
> diganti saja
> '- composite key oleh kode dan so bersifat unik
>
> dim rngData as range,rngAnchor as range
> dim lColTabel as long, lColSO as long, lColKode as long, lColHarga as long
>
> 'ganti tipe datanya dengan yang sesuai tipedata aslinya, sementara pakai
> variant dulu
> dim vKode as variant, vSO as variant, vHarga as variant
>
> set rngdata=sheets("Master Order").range("b5").currentregion
> with rngdata
>       .parent.autofiltermode=false
>       lcoltabel= .resize(,1)
>       set rnganchor=.resize(,1).offset(1,0).resize(.rows.count-1)
>       lcolSO= 3 - lcoltabel +1
>       lcolkode=5-lcoltabel+1
>       lcolharga=12-lcoltabel+1
>       vkode =                            'sumbernya diletakkan disini
>       vso =                                'sumbernya diletakkan disini
>       .autofilter lcolso, vso
>       .autofilter lcolkode, vkode
>       if .resize(,1).specialcells( xlcelltypevisible ).count > 1 then
>              'asumsi : me.harga ini adalah textbox
>             Me.Harga.text=
> rnganchor.areas(1).resize(1,1).offset(0,lcolharga-1).value
>       else
>             Me.Harga.text="0"
>       endif
>       .parent.autofiltermode=false
> end with
>
> kayanya bisa begitu..
>
> Jika pencarian dengan Find, harus dilakukan cek terhadap kriteria satunya
> lagi, jika tidak ketemu, maka findnext dan loop terus sampai barisnya
> kembali lebih kecil dari baris startnya. Daripada ruwet nentukan loopnya
> beserta batasnya, coba pakai fitur autofilter di atas.
>
> Wassalam,
> Kid.
>
>
> 2012/9/20 daniel_aho <daniel_...@yahoo.co.id>
>
>> **
>>
>>
>>   Dear Mr Kid,
>>
>>  Bagian tersebut kira2 ini :
>>
>>
>>
>>   With Worksheets("Master Order").Range("b5:e10000")
>>             Set c = .Find(kodebarang, LookIn:=xlValues)
>>
>>     'jika ditemukan, maka lihat barisnya.
>>         If Not c Is Nothing Then
>>             baris = c.Row
>>     'selnajutnya pindahkan nama barang dari sheet2 ke textbox2.
>>             Me.Harga = Worksheets("Master Order").Cells(baris, 12).Value
>>
>>
>>
>>
>>  "Harga" diambil dari sheet "Master Order" namun itu baru mengacu pada 1
>> kriteria  yakni "kode part",
>>
>> sedang  yang  saya inginkan adalah ada 2 kriteria, yaitu "kode part" dan
>> "No SO" yang diambil dari Sheet  " Master Order".
>>
>> jadi saat saya input data dengan user form, disitu sudah ada "kode part"
>> dan "No SO" sehingga  "Harga" menyesuaikan dari 2 kriteria tersebut.
>>
>> Mohon maaf jika penjelasan saya membingungkan atau tidak bisa dipahami.
>>
>>
>>
>>  Terima kasih,
>>
>>  daniel
>>
>>
>>
>>
>>
>>
>>
>>
>

Kirim email ke