Skip to main content

AccessTr.neT


Vba İle Döndüyü Sağlayıp Veriyi Çekmek

Vba İle Döndüyü Sağlayıp Veriyi Çekmek

#19
kodu aşağıdaki gibi düzenleyip dener misiniz?
aslında find komutunu zaten yılı bulmakta kullandığınıza göre kullanabiliyorsunuz aynı mantığı burada da kullanacaksınız
Private Sub Worksheet_Change(ByVal Target As Range)
    Dim bul As Range
    Dim trh As Date
    Dim CsutunTarih As Date
       
 
    With ThisWorkbook.Sheets("T1")
If (Target.Column = 3 Or Target.Column = 5) And Target.Row >= 1 Then
        If IsDate(Cells(Target.Row, "c")) And Len(Cells(Target.Row, "E") & "") > 0 Then
            SonStn = Cells(1, Columns.Count).End(xlToLeft).Column
                    Set bul = .Range("B1:" & .Cells(1, SonStn).Address).Find(Year(Cells(Target.Row, "C").Value), , , 1)
                    Set kaydir = .Range("A:A").Find(Cells(Target.Row, "E").Value, , , 1)
                    If (Not bul Is Nothing) And (Not kaydir Is Nothing) Then Cells(Target.Row, "F").Value = .Cells(kaydir.Row, bul.Column).Value
        End If
    End If
    End With
    Set bul = Nothing
End Sub
Cevapla
#20
(03/10/2022, 13:12)berduş yazdı: kodu aşağıdaki gibi düzenleyip dener misiniz?
aslında find komutunu zaten yılı bulmakta kullandığınıza göre kullanabiliyorsunuz aynı mantığı burada da kullanacaksınız
Private Sub Worksheet_Change(ByVal Target As Range)
    Dim bul As Range
    Dim trh As Date
    Dim CsutunTarih As Date
       
 
    With ThisWorkbook.Sheets("T1")
If (Target.Column = 3 Or Target.Column = 5) And Target.Row >= 1 Then
        If IsDate(Cells(Target.Row, "c")) And Len(Cells(Target.Row, "E") & "") > 0 Then
            SonStn = Cells(1, Columns.Count).End(xlToLeft).Column
                    Set bul = .Range("B1:" & .Cells(1, SonStn).Address).Find(Year(Cells(Target.Row, "C").Value), , , 1)
                    Set kaydir = .Range("A:A").Find(Cells(Target.Row, "E").Value, , , 1)
                    Debug.Print "Column : " & bul.Column, "Row : " & kaydir.Row
                    If (Not bul Is Nothing) And (Not kaydir Is Nothing) Then Cells(Target.Row, "F").Value = .Cells(kaydir.Row, bul.Column).Value
        End If
    End If
    End With
    Set bul = Nothing
End Sub

Teşekkür ederim.
Cevapla
#21
Sayın berduş hocam
Allah cc razı olsun sizden ve konuyu açan arkadaştan bende böyle bir şey arıyordum .
Cevapla
#22
rica ederim
iyi çalışmalar)
Not: aslında debug.print satırına gerek yok sadece veri Vba sayfasında görünsün diye kullanmıştım
o satır silinebilir
Cevapla
#23
(04/10/2022, 10:24)berduş yazdı: rica ederim
iyi çalışmalar)
Not: aslında debug.print satırına gerek yok sadece veri Vba sayfasında görünsün diye kullanmıştım
o satır silinebilir

Hocam 2023 tarihine kadar veri alıyor 2024 2025 2026 tarihleri seçilince hata veriyor. Debug.Print kısmını silince hiç veri almıyor
Cevapla
#24
şimdi denedim sorunsuz geliyor?
Cevapla

Bir hesap oluşturun veya yorum yapmak için giriş yapın

Yorum yapmak için üye olmanız gerekiyor

ya da
Task