veri almak

Katılım
5 Aralık 2005
Mesajlar
83
SLm, aşagıda gönderdiğim kodlarla exceldeki verileri form üzerindeki text ve comboboxlara çekiyorum.Daha doğrusu çekmeye çalışıyorum.Ama hata veriyo.Burada combobox1 de seçilen bir değerle iilgili bilgilerin form üzerine gelmesini sağlamam gerekiyor.
Private Sub ComboBox1_Change()
ReDim Arrayy(a) As Integer
ReDim Arrayy(b) As Integer
ReDim Arrayy(c) As Integer
ReDim Arrayy(d) As Integer
ReDim Arrayy(e) As Integer

Dim acount As Integer
acount = 1
For i = 1 To 10000
If Cells(i, 2) <> "" Or Cells(i, 3) <> "" Or Cells(i, 4) <> "" Then
acount = i
End If
Next i

For i = 1 To acount

If ComboBox1.Text = "ATG" Then
a = a + 1

ComboBox4.Text = Worksheets(Sheet1).Range("C")
ComboBox5.Text = Worksheets(Sheet1).Range("D")
ComboBox3.Text = Worksheets(Sheet1).Range("J")
TextBox2.Text = Worksheets(Sheet1).Range("B")
TextBox9.Text = Worksheets(Sheet1).Range("I")
TextBox5.Text = Worksheets(Sheet1).Range("E")
TextBox12.Text = Worksheets(Sheet1).Range("F")
TextBox8.Text = Worksheets(Sheet1).Range("H")
TextBox7.Text = Worksheets(Sheet1).Range("G")
TextBox11.Text = Worksheets(Sheet1).Range("K")

ElseIf Cells(i, 12) = "ELDG" Then
b = b + 1

ComboBox4.Text = Worksheets(Sheet1).Range("C")
ComboBox5.Text = Worksheets(Sheet1).Range("D")
ComboBox3.Text = Worksheets(Sheet1).Range("J")
TextBox2.Text = Worksheets(Sheet1).Range("B")
TextBox9.Text = Worksheets(Sheet1).Range("I")
TextBox5.Text = Worksheets(Sheet1).Range("E")
TextBox12.Text = Worksheets(Sheet1).Range("F")
TextBox8.Text = Worksheets(Sheet1).Range("H")
TextBox7.Text = Worksheets(Sheet1).Range("G")
TextBox11.Text = Worksheets(Sheet1).Range("K")
ElseIf Cells(i, 12) = "SMB" Then
c = c + 1
ComboBox4.Text = Worksheets(Sheet1).Range("C")
ComboBox5.Text = Worksheets(Sheet1).Range("D")
ComboBox3.Text = Worksheets(Sheet1).Range("J")
TextBox2.Text = Worksheets(Sheet1).Range("B")
TextBox9.Text = Worksheets(Sheet1).Range("I")
TextBox5.Text = Worksheets(Sheet1).Range("E")
TextBox12.Text = Worksheets(Sheet1).Range("F")
TextBox8.Text = Worksheets(Sheet1).Range("H")
TextBox7.Text = Worksheets(Sheet1).Range("G")
TextBox11.Text = Worksheets(Sheet1).Range("K")
ElseIf Cells(i, 12) = "SMYG" Then
d = d + 1
ComboBox4.Text = Worksheets(Sheet1).Range("C")
ComboBox5.Text = Worksheets(Sheet1).Range("D")
ComboBox3.Text = Worksheets(Sheet1).Range("J")
TextBox2.Text = Worksheets(Sheet1).Range("B")
TextBox9.Text = Worksheets(Sheet1).Range("I")
TextBox5.Text = Worksheets(Sheet1).Range("E")
TextBox12.Text = Worksheets(Sheet1).Range("F")
TextBox8.Text = Worksheets(Sheet1).Range("H")
TextBox7.Text = Worksheets(Sheet1).Range("G")
TextBox11.Text = Worksheets(Sheet1).Range("K")
ElseIf Cells(i, 12) = "TDG" Then
e = e + 1
ComboBox4.Text = Worksheets(Sheet1).Range("C")
ComboBox5.Text = Worksheets(Sheet1).Range("D")
ComboBox3.Text = Worksheets(Sheet1).Range("J")
TextBox2.Text = Worksheets(Sheet1).Range("B")
TextBox9.Text = Worksheets(Sheet1).Range("I")
TextBox5.Text = Worksheets(Sheet1).Range("E")
TextBox12.Text = Worksheets(Sheet1).Range("F")
TextBox8.Text = Worksheets(Sheet1).Range("H")
TextBox7.Text = Worksheets(Sheet1).Range("G")
TextBox11.Text = Worksheets(Sheet1).Range("K")
End If
Next i



End Sub

Bana Run-time error '13':
Type mismatch hatasını veriyor yardımcı olursanız sevinirim.
 

Levent Menteşoğlu

Administrator
Yönetici
Admin
Katılım
13 Ekim 2004
Mesajlar
16,057
Excel Vers. ve Dili
Excel 2010-32 bit-Türkçe
Excel 365 -32 bit-Türkçe
Kodlarınız içinde bulunan aşağıdaki yazım şekli hatalıdır.

Worksheets(Sheet1).Range("C")

Hatalar:


1-Worksheets(Sheet1) yazım şekli hatalıdır. Sayfa adı tırnak işareti içinde olmalıdır. Yani Worksheets("Sheet1"). şeklinde olmalıdır, veya kısaltılmış olarak yazmak isterseniz sheet1. şeklinde de kullanabilirsiniz.

2-Range("C") şeklinde bir hücre adı tanımlanmamış olur, C sütunu temsil etsede satırı temsil eden rakam eksiktir. Bunun için yazım şekli aşağıdaki gibi olmalıdır.

Eğer hücre adı sabitse; Range("C1") veya Range("C250") gibi

Eğer hücre adı değişkense; Range("C" & i) şeklinde yazılmalıdır.

Burada hareketle kodlarınız içindeki yazım şeklini aşağıdaki şekilde değiştirin.

Worksheets("sheet1").range("c" & i)

veya

sheets1.range("c" & i)
 
Üst