Soru For Döngüsü İçinde Find Kullanımı(kullanamadım)

Katılım
15 Haziran 2021
Mesajlar
147
Excel Vers. ve Dili
Office 2016
Merhaba

2 farklı sayfada barkodlara karşılık gelen tarih saat verilerinin olduğu sütunları for ile her satırı değişken alıp find ile arayıp sonucu istediğim hücreye yazdırdım. Fakat yazdığım hücreler 2 farklı saat olduğu için aradaki saat farkını hesaplatmak ve C sütünuna yazdırmak istedim.

Ama bunu yapamadım.

Nerede hata yapıyorum? yardımcı olabilecek var mı?

Kod:
Sub saatbirlestir()
    Dim c   As Range
    Dim s1  As Worksheet, s2 As Worksheet
    Dim Dolu, DoluS, zaman As Integer
    Set s1 = Sheets("data")
    Set s2 = Sheets("cikisdata")
    Dolu = s1.Range("L65536").End(3).Row
    For DoluS = 2 To Dolu
    aranan = s1.Range("L" & DoluS).Value
    Set c = s2.Range("F:F").Find(aranan, LookIn:=xlValues, LookAt:=xlWhole)
    If Not c Is Nothing Then
        s1.Range("B" & DoluS) = s2.Range("B" & c.Row)
        buluntu = s2.Range("B" & c.Row).Value
        fark = s1.Range("A" & DoluS).Value
        zaman = buluntu - fark
        s1.Range("C" & DoluS) = zaman
    Else
    s1.Range("C" & DoluS) = "Cikis Bulunamadi"
    End If
    Next DoluS
    MsgBox "İslem Tamam"
End Sub
 
Katılım
20 Ekim 2021
Mesajlar
104
Excel Vers. ve Dili
TR 2016
Altın Üyelik Bitiş Tarihi
21-10-2022
Kod:
Sub saatbirlestir()
    Dim c   As Range
    Dim s1  As Worksheet, s2 As Worksheet
    Dim Dolu, DoluS, zaman As Integer
    Set s1 = Sheets("data")
    Set s2 = Sheets("cikisdata")
    Dolu = s1.Range("L65536").End(3).Row
    For DoluS = 2 To Dolu
        aranan = s1.Range("L" & DoluS).Value
        Set c = s2.Range("F:F").Find(aranan, LookIn:=xlValues, LookAt:=xlWhole)
        If Not c Is Nothing Then
            s1.Range("B" & DoluS) = s2.Range("B" & c.Row)
            buluntu = s2.Range("B" & c.Row).Value
            fark = s1.Range("A" & DoluS).Value
            zaman = TimeValue(buluntu) - TimeValue(fark)
            s1.Range("C" & DoluS) = Format(zaman, "hh:mm:ss")
        Else
            s1.Range("C" & DoluS) = "Cikis Bulunamadi"
        End If
    Next DoluS
    MsgBox "Islem Tamam"
End Sub
 
Katılım
15 Haziran 2021
Mesajlar
147
Excel Vers. ve Dili
Office 2016
Geri dönüş için teşekkür ederim.
 
Üst