Sayın Forum Üyeleri,
Aşağıda kısaca; combobox1'e girilen değere göre "hst" sheet'inde 7 farklı sutundan uygun olan sutundaki tüm tarihlerle, girilen "gun1" değişkeninin farkını aldırmaya çalışmaktayım. Kodu çaliştırdığımda aşagıda kırmızı ile gösterilen satırda "Could not set the Value property. Tür uyuşmazlığı" hatasını almaktayım. Anlayabildiğim kadarıyla ilgili ilgili "Case"i seçip döngüyü tamamladıktan sonra "k " değişkeninin değerini "nothing"e çeviriyor. General Declaration 'da "k" değişkenini de tanımlamama rağmen, acaba bu döngüden çıktıktan sonra da "k" değişkeninin değerini hatırlamasını nasıl sağlarım ?
Yardımlarınıza şimdiden teşekkür ediyorum.
Saygılarımla.
NOT : Son "Case" olan "Case6"yı seçtiğimde kod hatasız çalışıyor.
Private Sub ComboBox1_Change()
Dim k As Range
Sheets("Sayfa3").Select
Range("B2:B8").Select
Selection.Find(What:=ComboBox1.Value, After:=ActiveCell, LookIn:=xlValues, _
LookAt:=xlPart, SearchOrder:=xlByColumns, SearchDirection:=xlNext, _
MatchCase:=False, SearchFormat:=False).Activate
kart = ActiveCell.Offset(0, 1).Value
Label1.Caption = kart
gun1 = Calendar1.Value
hktarihi = ComboBox1.ListIndex
Select Case hktarihi
Case 0
ab = WorksheetFunction.CountA(Sheets("hst").Range("b3:b65532"))
sat = 2
For Each k In Sheets("hst").Range("b3:b" & ab)
sat = sat + 1
fark = k - gun1
If fark > 0 Then GoTo tarih
Next k
Case 1
ab = WorksheetFunction.CountA(Sheets("hst").Range("d3:d65532"))
sat = 2
For Each k In Sheets("hst").Range("d3:d" & ab)
sat = sat + 1
fark = k - gun1
If fark > 0 Then GoTo tarih
Next k
Case 2
ab = WorksheetFunction.CountA(Sheets("hst").Range("f3:f65532"))
sat = 2
For Each k In Sheets("hst").Range("f3:f" & ab)
sat = sat + 1
fark = k - gun1
If fark > 0 Then GoTo tarih
Next k
Case 3
ab = WorksheetFunction.CountA(Sheets("hst").Range("h3:h65532"))
sat = 2
For Each k In Sheets("hst").Range("h3:h" & ab)
sat = sat + 1
fark = k - gun1
If fark > 0 Then GoTo tarih
Next k
Case 4
ab = WorksheetFunction.CountA(Sheets("hst").Range("j3:j65532"))
sat = 2
For Each k In Sheets("hst").Range("j3:j" & ab)
sat = sat + 1
fark = k - gun1
If fark > 0 Then GoTo tarih
Next k
Case 5
ab = WorksheetFunction.CountA(Sheets("hst").Range("l3:l65532"))
sat = 2
For Each k In Sheets("hst").Range("l3:l" & ab)
sat = sat + 1
fark = k - gun1
If fark > 0 Then GoTo tarih
Next k
Case 6
ab = WorksheetFunction.CountA(Sheets("hst").Range("n3:n65532"))
sat = 2
For Each k In Sheets("hst").Range("n3:n" & ab)
sat = sat + 1
fark = k - gun1
If fark > 0 Then GoTo tarih
Next k
End Select
tarih:
TextBox9.Value = k
sut = Sheets("hst").Rows(1).Find(ComboBox1.Value).Column
TextBox7.Value = Sheets("hst").Cells(sat, sut + 1).Value
TextBox2.SetFocus
End Sub
Aşağıda kısaca; combobox1'e girilen değere göre "hst" sheet'inde 7 farklı sutundan uygun olan sutundaki tüm tarihlerle, girilen "gun1" değişkeninin farkını aldırmaya çalışmaktayım. Kodu çaliştırdığımda aşagıda kırmızı ile gösterilen satırda "Could not set the Value property. Tür uyuşmazlığı" hatasını almaktayım. Anlayabildiğim kadarıyla ilgili ilgili "Case"i seçip döngüyü tamamladıktan sonra "k " değişkeninin değerini "nothing"e çeviriyor. General Declaration 'da "k" değişkenini de tanımlamama rağmen, acaba bu döngüden çıktıktan sonra da "k" değişkeninin değerini hatırlamasını nasıl sağlarım ?
Yardımlarınıza şimdiden teşekkür ediyorum.
Saygılarımla.
NOT : Son "Case" olan "Case6"yı seçtiğimde kod hatasız çalışıyor.
Private Sub ComboBox1_Change()
Dim k As Range
Sheets("Sayfa3").Select
Range("B2:B8").Select
Selection.Find(What:=ComboBox1.Value, After:=ActiveCell, LookIn:=xlValues, _
LookAt:=xlPart, SearchOrder:=xlByColumns, SearchDirection:=xlNext, _
MatchCase:=False, SearchFormat:=False).Activate
kart = ActiveCell.Offset(0, 1).Value
Label1.Caption = kart
gun1 = Calendar1.Value
hktarihi = ComboBox1.ListIndex
Select Case hktarihi
Case 0
ab = WorksheetFunction.CountA(Sheets("hst").Range("b3:b65532"))
sat = 2
For Each k In Sheets("hst").Range("b3:b" & ab)
sat = sat + 1
fark = k - gun1
If fark > 0 Then GoTo tarih
Next k
Case 1
ab = WorksheetFunction.CountA(Sheets("hst").Range("d3:d65532"))
sat = 2
For Each k In Sheets("hst").Range("d3:d" & ab)
sat = sat + 1
fark = k - gun1
If fark > 0 Then GoTo tarih
Next k
Case 2
ab = WorksheetFunction.CountA(Sheets("hst").Range("f3:f65532"))
sat = 2
For Each k In Sheets("hst").Range("f3:f" & ab)
sat = sat + 1
fark = k - gun1
If fark > 0 Then GoTo tarih
Next k
Case 3
ab = WorksheetFunction.CountA(Sheets("hst").Range("h3:h65532"))
sat = 2
For Each k In Sheets("hst").Range("h3:h" & ab)
sat = sat + 1
fark = k - gun1
If fark > 0 Then GoTo tarih
Next k
Case 4
ab = WorksheetFunction.CountA(Sheets("hst").Range("j3:j65532"))
sat = 2
For Each k In Sheets("hst").Range("j3:j" & ab)
sat = sat + 1
fark = k - gun1
If fark > 0 Then GoTo tarih
Next k
Case 5
ab = WorksheetFunction.CountA(Sheets("hst").Range("l3:l65532"))
sat = 2
For Each k In Sheets("hst").Range("l3:l" & ab)
sat = sat + 1
fark = k - gun1
If fark > 0 Then GoTo tarih
Next k
Case 6
ab = WorksheetFunction.CountA(Sheets("hst").Range("n3:n65532"))
sat = 2
For Each k In Sheets("hst").Range("n3:n" & ab)
sat = sat + 1
fark = k - gun1
If fark > 0 Then GoTo tarih
Next k
End Select
tarih:
TextBox9.Value = k
sut = Sheets("hst").Rows(1).Find(ComboBox1.Value).Column
TextBox7.Value = Sheets("hst").Cells(sat, sut + 1).Value
TextBox2.SetFocus
End Sub