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