• DİKKAT

    DOSYA İndirmek/Yüklemek için ÜCRETLİ ALTIN ÜYELİK Gereklidir!
    Altın Üyelik Hakkında Bilgi

Düşey Ara formülünü makroya çevir

Katılım
13 Temmuz 2016
Mesajlar
613
Excel Vers. ve Dili
Excel 2010 & 2016 Türkçe
Merhabalar
A:A sütununa t.c girdiğimde B:B ve C:C verilerini düşey ara ile sayfa2 den dolduruyor. Ama bazen A:A yerine B:B verileri girmem gerekiyor ama B:B sütununda formül olduğu için giremiyorum. bunu nasıl makroya çevirebiliriz. Saygılarımla.
 

Ekli dosyalar

Öncelikle teşekkürler Userform yerine direk hücrelerde olsa daha iyi olurdu.
 
Ben direkt olarak kullanın demedim zaten, dosyanızdaki tabloları biraz düzenlerseniz benzer bir kodla yapabilirsiniz demek istedim...

.
 
istediğiniz aşağıdaki kodla çözülebilir mi acaba sayfanın kod bölümüne yapıştırıp deneyiniz.
Kod:
Private Sub Worksheet_Change(ByVal Target As Range)

If Intersect(Target, [A2:B100000]) Is Nothing Then Exit Sub

Application.EnableEvents = False
If Target.Column = 1 Then
    Set bul = Sheets("Sayfa2").Range("A:A").Find(Target, , xlValues, xlWhole)
    If Not bul Is Nothing Then
        Cells(Target.Row, 2).Value = Sheets("Sayfa2").Cells(bul.Row, 2).Value
        Cells(Target.Row, 3).Value = Sheets("Sayfa2").Cells(bul.Row, 3).Value
    Else
        Cells(Target.Row, 2).Value = ""
        Cells(Target.Row, 3).Value = ""
    End If
Else
    Set bul = Sheets("Sayfa2").Range("B:B").Find(Target, , xlValues, xlWhole)
    If Not bul Is Nothing Then
        Cells(Target.Row, 1).Value = Sheets("Sayfa2").Cells(bul.Row, 1).Value
        Cells(Target.Row, 3).Value = Sheets("Sayfa2").Cells(bul.Row, 3).Value
    Else
        Cells(Target.Row, 1).Value = ""
        Cells(Target.Row, 3).Value = ""
    End If
End If
Application.EnableEvents = True

End Sub
 
Teşekkürler
istediğiniz aşağıdaki kodla çözülebilir mi acaba sayfanın kod bölümüne yapıştırıp deneyiniz.
Kod:
Private Sub Worksheet_Change(ByVal Target As Range)

If Intersect(Target, [A2:B100000]) Is Nothing Then Exit Sub

Application.EnableEvents = False
If Target.Column = 1 Then
    Set bul = Sheets("Sayfa2").Range("A:A").Find(Target, , xlValues, xlWhole)
    If Not bul Is Nothing Then
        Cells(Target.Row, 2).Value = Sheets("Sayfa2").Cells(bul.Row, 2).Value
        Cells(Target.Row, 3).Value = Sheets("Sayfa2").Cells(bul.Row, 3).Value
    Else
        Cells(Target.Row, 2).Value = ""
        Cells(Target.Row, 3).Value = ""
    End If
Else
    Set bul = Sheets("Sayfa2").Range("B:B").Find(Target, , xlValues, xlWhole)
    If Not bul Is Nothing Then
        Cells(Target.Row, 1).Value = Sheets("Sayfa2").Cells(bul.Row, 1).Value
        Cells(Target.Row, 3).Value = Sheets("Sayfa2").Cells(bul.Row, 3).Value
    Else
        Cells(Target.Row, 1).Value = ""
        Cells(Target.Row, 3).Value = ""
    End If
End If
Application.EnableEvents = True

End Sub
 
Bu kodu B stunundan z stununa kadar çalisacak nasil sekilde nasil degiştirmeliyim beceremedim
 
Nasıl bir şey yapmak istiyorsunuz tam açıklasanız yardımcı olmaya çalışayım.
 
Ürun adıni verdigim veritabanı olarak kullandigim bir sayfam var.Buradaki bilgileri Takip adli sayfamda a sutuna stok yazip b den z ye kadar olan stunlari bu formulle doldurtmak istiyorum.
 
Cells(Target.Row, 2).Value = Sheets("Sayfa2").Cells(bul.Row, 2).Value ' Burdaki 2 sütun numarası yani 2 ve B sütununu temsil ediyor . Burdn yola çıkarak yapabilirsiniz. Olmadı örnek dosyanızı gönderirsiniz.
 
Formullerle çalişmaktan daha güzel oldu.Teşekkür ederim.
 
Geri
Üst