Type mismatch hatası

Katılım
21 Aralık 2023
Mesajlar
10
Excel Vers. ve Dili
Türkçe
Merhabalar

Private Sub CommandButton2_Click()
barkod = TextBox5.Value()
sk = Application.VLookup(TextBox5.Value(), Sheets("liste").Range("A:E"), 2, 0)

kodunda sürekli tür uyuşmazlığı hatası alıyorum. Neden bu hatayı alıyor olabilirm
 

Mdemir63

Altın Üye
Katılım
7 Temmuz 2006
Mesajlar
2,860
Excel Vers. ve Dili
Ofis2010 32Bit Türkçe
Altın Üyelik Bitiş Tarihi
19-02-2026
Selamlar

TextBox5.Value den sonra neden Parantez kullanıyorsunuz?
 
Katılım
21 Aralık 2023
Mesajlar
10
Excel Vers. ve Dili
Türkçe
Sildim onu ama değişen bir şey olmadı maalesef. Hatta chatgpt den kopya çektim kodu düzenledi ama yine de hata veriyor. Düşeyarama sonucunu bulamıyor

Dim barkod As Variant
Dim sk As Variant
Dim urunadi As Variant
Dim birim As Variant
Dim miktar As Variant
Dim lastRow As Long

lastRow = Sheets("liste").Cells(Sheets("liste").Rows.Count, "A").End(xlUp).Row

barkod = TextBox5.Value
sk = Application.VLookup(barkod, Sheets("liste").Range("A1:E" & lastRow), 2, 0)
urunadi = Application.VLookup(barkod, Sheets("liste").Range("A1:E" & lastRow), 3, 0)
birim = Application.VLookup(barkod, Sheets("liste").Range("A1:E" & lastRow), 4, 0)
miktar = Application.VLookup(barkod, Sheets("liste").Range("A1:E" & lastRow), 5, 0)

If sk = CVErr(xlErrNA) Then
TextBox1.Value = "KART KAYITLI DEĞİL"
TextBox2.Value = "KART KAYITLI DEĞİL"
TextBox3.Value = "KART KAYITLI DEĞİL"
TextBox4.Value = "KART KAYITLI DEĞİL"
Else
TextBox1.Value = sk
TextBox2.Value = urunadi
TextBox3.Value = birim
TextBox4.Value = miktar
End If
 

Mdemir63

Altın Üye
Katılım
7 Temmuz 2006
Mesajlar
2,860
Excel Vers. ve Dili
Ofis2010 32Bit Türkçe
Altın Üyelik Bitiş Tarihi
19-02-2026
Sayın @VeyselOZKAN
Gerçek bilgiler içermeyen örnek bir dosyayı harici dosya yükleme sitelerinden
birine yükleyip burada linki paylaşırsanız cevap almanız çok daha kolay olacaktır.
 

Mdemir63

Altın Üye
Katılım
7 Temmuz 2006
Mesajlar
2,860
Excel Vers. ve Dili
Ofis2010 32Bit Türkçe
Altın Üyelik Bitiş Tarihi
19-02-2026
Selamlar

kodlarınızdaki

Kod:
barkod = TextBox1.Value

yerine

barkod = CDbl(TextBox1.Value)

bu kodu yazıp deneyin
 
Katılım
2 Temmuz 2014
Mesajlar
145
Excel Vers. ve Dili
2021 Türkçe, 64bit
eklediğiniz dosyada öyle bir koda rastlamadım. tek form ve tek düğme var
 

Mdemir63

Altın Üye
Katılım
7 Temmuz 2006
Mesajlar
2,860
Excel Vers. ve Dili
Ofis2010 32Bit Türkçe
Altın Üyelik Bitiş Tarihi
19-02-2026
Ya da Butonunuzdaki kodların yerine

aşağıdaki kodu kullanın

Kod:
Private Sub CommandButton1_Click()
Dim barkod As Variant
Dim lastRow As Long
lastRow = Sheets("liste").Cells(Sheets("liste").Rows.Count, "A").End(xlUp).Row
      If TextBox1.Value = "" Then
            TextBox3.Value = "KART KAYITLI DEĞİL"
            TextBox4.Value = "KART KAYITLI DEĞİL"
            TextBox5.Value = "KART KAYITLI DEĞİL"
            TextBox6.Value = "KART KAYITLI DEĞİL"
      Else
      barkod = CDbl(TextBox1.Value)
            TextBox3.Value = Application.VLookup(barkod, Sheets("liste").Range("A1:E" & lastRow), 2, 0)
            TextBox4.Value = Application.VLookup(barkod, Sheets("liste").Range("A1:E" & lastRow), 3, 0)
            TextBox5.Value = Application.VLookup(barkod, Sheets("liste").Range("A1:E" & lastRow), 4, 0)
            TextBox6.Value = Application.VLookup(barkod, Sheets("liste").Range("A1:E" & lastRow), 5, 0)
      End If
End Sub
 
Katılım
21 Aralık 2023
Mesajlar
10
Excel Vers. ve Dili
Türkçe
Bunda da sk olan kodları getirdi ama if değerini barkod üzerinden yaptığımız için sk değeri olmadığı zaman hata verdi o yüzden sk değeri yoksa kayıt yok diyordum ben
 
Katılım
21 Aralık 2023
Mesajlar
10
Excel Vers. ve Dili
Türkçe
Merhaba aşağıdaki kodlarla sorunumu çözdüm desteğiniz için çok teşekkür ederim, harikasınız

Private Sub CommandButton1_Click()
Dim barkod As Variant
Dim lastRow As Long
lastRow = Sheets("liste").Cells(Sheets("liste").Rows.Count, "A").End(xlUp).Row
barkod = CDbl(TextBox1.Value)
a = Application.VLookup(barkod, Sheets("liste").Range("A1:E" & lastRow), 2, 0)
b = Application.VLookup(barkod, Sheets("liste").Range("A1:E" & lastRow), 3, 0)
c = Application.VLookup(barkod, Sheets("liste").Range("A1:E" & lastRow), 4, 0)
d = Application.VLookup(barkod, Sheets("liste").Range("A1:E" & lastRow), 5, 0)
If IsError(Application.VLookup(barkod, Sheets("liste").Range("A1:E" & lastRow), 2, 0)) < 0 Then
TextBox1.Value = "KART KAYITLI DEĞİL"
TextBox2.Value = "KART KAYITLI DEĞİL"
TextBox3.Value = "KART KAYITLI DEĞİL"
TextBox4.Value = "KART KAYITLI DEĞİL"
Else
TextBox1.Value = a
TextBox2.Value = b
TextBox3.Value = c
TextBox4.Value = d
End If
End Sub
 
Katılım
21 Aralık 2023
Mesajlar
10
Excel Vers. ve Dili
Türkçe
Merhaba aşağıdaki kodlarla sorunumu çözdüm desteğiniz için çok teşekkür ederim, harikasınız

Private Sub CommandButton1_Click()
Dim barkod As Variant
Dim lastRow As Long
lastRow = Sheets("liste").Cells(Sheets("liste").Rows.Count, "A").End(xlUp).Row
barkod = CDbl(TextBox1.Value)
a = Application.VLookup(barkod, Sheets("liste").Range("A1:E" & lastRow), 2, 0)
b = Application.VLookup(barkod, Sheets("liste").Range("A1:E" & lastRow), 3, 0)
c = Application.VLookup(barkod, Sheets("liste").Range("A1:E" & lastRow), 4, 0)
d = Application.VLookup(barkod, Sheets("liste").Range("A1:E" & lastRow), 5, 0)
If IsError(Application.VLookup(barkod, Sheets("liste").Range("A1:E" & lastRow), 2, 0)) < 0 Then
TextBox1.Value = "KART KAYITLI DEĞİL"
TextBox2.Value = "KART KAYITLI DEĞİL"
TextBox3.Value = "KART KAYITLI DEĞİL"
TextBox4.Value = "KART KAYITLI DEĞİL"
Else
TextBox1.Value = a
TextBox2.Value = b
TextBox3.Value = c
TextBox4.Value = d
End If
End Sub

Ama bunun da şöyle bir problemi var textbox1 tamamen silindiğinde hataya giriyor. boş olması durumunu ise bu kodlarla çözdüm

Dim barkod As Variant
Dim lastRow As Long
lastRow = Sheets("liste").Cells(Sheets("liste").Rows.Count, "A").End(xlUp).Row
If TextBox1.Value = "" Then
MsgBox ("barkod boş olamaz")
Else: barkod = CDbl(TextBox1.Value)
End If
a = Application.VLookup(barkod, Sheets("liste").Range("A1:E" & lastRow), 2, 0)
b = Application.VLookup(barkod, Sheets("liste").Range("A1:E" & lastRow), 3, 0)
c = Application.VLookup(barkod, Sheets("liste").Range("A1:E" & lastRow), 4, 0)
d = Application.VLookup(barkod, Sheets("liste").Range("A1:E" & lastRow), 5, 0)
If IsError(Application.VLookup(barkod, Sheets("liste").Range("A1:E" & lastRow), 2, 0)) < 0 Or barkod = "" Then
TextBox3.Value = "KART KAYITLI DEĞİL"
TextBox4.Value = "KART KAYITLI DEĞİL"
TextBox5.Value = "KART KAYITLI DEĞİL"
TextBox6.Value = "KART KAYITLI DEĞİL"
Else
TextBox3.Value = a
TextBox4.Value = b
TextBox5.Value = c
TextBox6.Value = d
End If
 
Son düzenleme:

Mdemir63

Altın Üye
Katılım
7 Temmuz 2006
Mesajlar
2,860
Excel Vers. ve Dili
Ofis2010 32Bit Türkçe
Altın Üyelik Bitiş Tarihi
19-02-2026
Bunda da sk olan kodları getirdi ama if değerini barkod üzerinden yaptığımız için sk değeri olmadığı zaman hata verdi o yüzden sk değeri yoksa kayıt yok diyordum ben
Son verdiğim kodları denediniz mi?
 
Katılım
21 Aralık 2023
Mesajlar
10
Excel Vers. ve Dili
Türkçe
merhaba

Evet denedim ama barkod zaten boş olacağı için sk bulmadığı zaman hata veriyordu. En son çalışan sorunsuz haline şu kodlarla ulaştım

Dim barkod As Variant
Dim lastRow As Long
lastRow = Sheets("liste").Cells(Sheets("liste").Rows.Count, "A").End(xlUp).Row
If TextBox1.Value = "" Then
MsgBox ("barkod boş olamaz")
Else: barkod = CDbl(TextBox1.Value)
End If
a = Application.VLookup(barkod, Sheets("liste").Range("A1:E" & lastRow), 2, 0)
b = Application.VLookup(barkod, Sheets("liste").Range("A1:E" & lastRow), 3, 0)
c = Application.VLookup(barkod, Sheets("liste").Range("A1:E" & lastRow), 4, 0)
d = Application.VLookup(barkod, Sheets("liste").Range("A1:E" & lastRow), 5, 0)
If IsError(Application.VLookup(barkod, Sheets("liste").Range("A1:E" & lastRow), 2, 0)) < 0 Or barkod = "" Then
TextBox3.Value = "KART KAYITLI DEĞİL"
TextBox4.Value = "KART KAYITLI DEĞİL"
TextBox5.Value = "KART KAYITLI DEĞİL"
TextBox6.Value = "KART KAYITLI DEĞİL"
Else
TextBox3.Value = a
TextBox4.Value = b
TextBox5.Value = c
TextBox6.Value = d
End If
 

Mdemir63

Altın Üye
Katılım
7 Temmuz 2006
Mesajlar
2,860
Excel Vers. ve Dili
Ofis2010 32Bit Türkçe
Altın Üyelik Bitiş Tarihi
19-02-2026
Madem hallettiniz.
İyi çalışmalar
 
Üst