Tarih değerini bulamamak hakkında

Katılım
20 Eylül 2016
Mesajlar
1
Excel Vers. ve Dili
Türkçe
Herkese merhaba sevgili dostlar. Benim bir problemim var. Excell veri kitabı deneme sayfası içindeki verileri vba'da yazmış olduğum kod ile yeni sayfasında tarih ve açıklama referanslarına göre tasniflemek istiyorum. Fakat döngü 55. satırda tarih değerini algılamıyor yardımcı olursanız sevinirim. Kod aşağıdaki gibidir. Ek'te de dosyayı bulabilirsiniz.


Dim tarih As Date
Dim acıklama As String
Dim x As Integer

Sub Gunegoretasımayaz()

Sheets.Add
Sheets(ActiveSheet.Name).Name = "yeni"


Sheets("yeni").Cells(1, 1) = "Tarih"
Sheets("yeni").Cells(1, 2) = "Tonaj"
Sheets("yeni").Cells(1, 3) = "acıklama"


For x = 2 To 15000

tarih = Cells(x, 3).Value
acıklama = Cells(x, 11)
tonaj = Cells(x, 9)




Set bul = Sheets("yeni").Range("A2:A35").Find(What:=tarih, MatchCase:=True, lookat:=xlWhole)
'Set sat = Sheets("yeni").Columns("A").Find(tarih, , xlValues, xlWhole)
Set satir1 = Sheets("yeni").Columns("C").Find(acıklama, , xlValues, xlWhole)




If bul Is Nothing And satir1 Is Nothing Then

bul = Sheets("yeni").Columns("A").Find(EndDown).Row
Sheets("yeni").Cells(bul, 1) = tarih
Sheets("yeni").Cells(bul, 2) = tonaj + Sheets("yeni").Cells(bul, 2)
Sheets("yeni").Cells(bul, 3) = acıklama
Else

yatay = FindDate(tarih, acıklama)

If yatay = 0 Then


Else

Toplam = Sheets("yeni").Cells(yatay, 2)
Toplam = Toplam + tonaj
Sheets("yeni").Cells(yatay, 2) = Toplam
End If
End If
Next


End Sub
Function FindDate(tarih As Date, acıklama As String)
Dim Start, i As Integer
Dim DateFound As Boolean
Dim acıklamaFound As Boolean
i = 1
DateFound = False

Do
If tarih = Sheets("yeni").Cells(i, 1) And acıklama = Sheets("yeni").Cells(i, 3) Then
FindDate = i: DateFound = True: acıklamaFound = True

Else: i = i + 1
If i = 32765 Then
i = 32765
' arkadaş burada ne arıyorsa onu bulamıyor ve int sayısını doldurana kadar çalışıyor
' Sonra da overflow hatası veriyor..

End If
End If
Loop Until DateFound

End Function
 
Üst