• DİKKAT

    DOSYA İndirmek/Yüklemek için ÜCRETLİ ALTIN ÜYELİK Gereklidir!
    Altın Üyelik Hakkında Bilgi

vba , düşeyara, combobox, textbox

  • Konbuyu başlatan Konbuyu başlatan walabi
  • Başlangıç tarihi Başlangıç tarihi

walabi

Altın Üye
Katılım
22 Eylül 2012
Mesajlar
1,080
Excel Vers. ve Dili
excel 2010

excel 2013
Merhaba,

Aşağıdaki vba kodunda nerde , nasıl bir hata yaptığımı anlayabilir ve düzeltme desteği talep edebilirmiyim. Yapmaya çalıştığım şey şu. STOK adlı excel sayfasının F sütununa BARKOD adlı excel sayfasından combobox5 ile bir barkod numarası çekiyorum. G sütununa ise ilgili barkod numarasına ait ürün adını getirmeye çalışıyorum. Bunu düşer ara ile yapabileceğimi düşündüm ve aşağıdaki iki sıra kodu bu düşünce ile yaptım. Son satırda vermekte. Burada yaptığım hata nedir ve kod nasıl olmalı.


Barkod = ComboBox5.Value

'Sheets("STOK").Range("G" & Bos_Satir_ST).Value = Application.WorksheetFunction.VLookup(Barkod, Sheets("BARKOD").Range("B:C"), 2, 0)








Private Sub CommandButton1_Click()



Son_Dolu_Satir_CA = Sheets("CARİ").Range("A1048576").End(xlUp).Row
Bos_Satir_CA = Son_Dolu_Satir_CA + 1

Son_Dolu_Satir_AL = Sheets("ALIŞ").Range("A1048576").End(xlUp).Row
Bos_Satir_AL = Son_Dolu_Satir_AL + 1

Son_Dolu_Satir_SA = Sheets("SATIŞ").Range("A1048576").End(xlUp).Row
Bos_Satir_SA = Son_Dolu_Satir_SA + 1

Son_Dolu_Satir_ST = Sheets("STOK").Range("A1048576").End(xlUp).Row
Bos_Satir_ST = Son_Dolu_Satir_ST + 1




' ALIŞ Girişi
Sheets("ALIŞ").Range("A" & Bos_Satir_AL).Value = _
Application.WorksheetFunction.Max(Sheets("ALIŞ").Range("A:A")) + 1

Sheets("ALIŞ").Range("B" & Bos_Satir_AL).Value = ComboBox4.Text
Sheets("ALIŞ").Range("C" & Bos_Satir_AL).Value = TextBox1.Text
Sheets("ALIŞ").Range("D" & Bos_Satir_AL).Value = TextBox2.Text
Sheets("ALIŞ").Range("E" & Bos_Satir_AL).Value = TextBox8.Text

' STOK girişi
Sheets("STOK").Range("A" & Bos_Satir_ST).Value = _
Application.WorksheetFunction.Max(Sheets("STOK").Range("A:A")) + 1 'ID

Sheets("STOK").Range("B" & Bos_Satir_ST).Value = ComboBox4.Text
Sheets("STOK").Range("C" & Bos_Satir_ST).Value = TextBox1.Text
Sheets("STOK").Range("D" & Bos_Satir_ST).Value = TextBox2.Text
Sheets("STOK").Range("E" & Bos_Satir_ST).Value = ComboBox2.Text
Sheets("STOK").Range("F" & Bos_Satir_ST).Value = ComboBox5.Text
Sheets("STOK").Range("H" & Bos_Satir_ST).Value = TextBox3.Text
Sheets("STOK").Range("I" & Bos_Satir_ST).Value = TextBox4.Text
Sheets("STOK").Range("J" & Bos_Satir_ST).Value = TextBox5.Text
Sheets("STOK").Range("K" & Bos_Satir_ST).Value = TextBox6.Text
Sheets("STOK").Range("L" & Bos_Satir_ST).Value = ComboBox3.Text
Sheets("STOK").Range("M" & Bos_Satir_ST).Value = TextBox7.Text
Sheets("STOK").Range("N" & Bos_Satir_ST).Value = TextBox8.Text

Barkod = ComboBox5.Value

'Sheets("STOK").Range("G" & Bos_Satir_ST).Value = Application.WorksheetFunction.VLookup(Barkod, Sheets("BARKOD").Range("B:C"), 2, 0)








End Sub
 
DÜŞEYARA kısmında hata veriyorsa aranan veri tabloda yoktur muhtemelen.
 
Tanımlama yapmayı deneyiniz.

Dim Barkod As Long
 
Korhan Bey'in belirttiği düzeltmeyi yaparsanız sorun çıkmıyor. Sorunun nedeni ise dosyanızdaki barkodlar sayı biçiminde iken userformda comboboxla çağırınca artık metin biçimine dönüşüyor. Düşeyara fonksiyonu barkodu metin olarak tabloda arıyor ama dosyadaki veriniz sayı biçiminde olduğu için barkodu bulamıyor.
 
Geri
Üst