• DİKKAT

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

düşey ara makro formülüne yardım.

kemal turan

Altın Üye
Katılım
10 Haziran 2011
Mesajlar
1,677
Excel Vers. ve Dili
Excel 2010 32 bit
Merhabalar,
Açılan konuları inceleyerek aşağıdaki düşey ara formülünü bir düğmeye bağlı olarak çalıştırdım.
Sorunum;
1-c2:c5 hücrelerinde sonucu formül çubuğunda formül olarak gösteriyor.Değer olarak görülmesini;
2-bu makro bir düğmeye değilde ae3 hücresi değiştiğinde çalışsın istiyorum.(sayfanın kod bölümüne uyarlanacak.)
Teşekkür ederim.

Sub duseyara()
[c2] = "=VLOOKUP(Ae3,satışlar!ı2:j65536,2,0)"
[c3] = "=VLOOKUP(Ae3,satışlar!ı2:m65536,5,0)"
[c4] = "=VLOOKUP(Ae3,satışlar!ı2:k65536,3,0)"
[c5] = "=VLOOKUP(Ae3,satışlar!ı2:l65536,4,0)"
End Sub
 
Ben C2 için yaptım.Diğerlerini siz yapabilirsiniz.:cool:
Kod:
Private Sub Worksheet_Change(ByVal Target As Range)
Dim k  As Range
If Intersect(Target, [AE3]) Is Nothing Then Exit Sub
Set k = Range("I2:J65536").Find(Range("AE3").Value, , xlValues, xlWhole)
If Not k Is Nothing Then Range("C2").Value = k.Offset(0, 2).Value
Set k = Nothing
End Sub
 
Sn.Orıon
Çok teşekkür ederim.
Yalnız "Set k =satırında sayfa adını unutmuş sunuz.Onuda ben tamamladım.:mutlu:
sheets("satışlar")
Selametle kalınız.
 
Sayın Kemal Turan,

Günaydın.

Yukarıdaki konu başlığı çok ilgimi çekti. Acaba, sakıncası yoksa küçük bir örnek dosya ekleyebilir misiniz?

Teşekkürler.
 
Merhaba,
Dosyanız ektedir.
AE3 Hücresinndeki cari no değiştirin.Makro çalışsın.
Kolay gelsin
 

Ekli dosyalar

Merhaba Hüseyin bey,
KOd çözümlemeye yeni yeni başladım da.
Konuyu pekiştirebilmemiz açısından verdiğiniz linkte tarafınıza sunulan aşağıdaki kodu '(tırnak işareti ile yapılıyor herhalde) işareti yardımı satır satır yorumlayabilirmisiniz.
Çok teşekkür ederim.

Sub Düşeyara()
Dim U As Long
For U = 6 To [D65536].End(3).Row
If WorksheetFunction.CountIf(Sheets("hesap planı").Range("B:B"), Cells(U, "D")) > 0 Then
Cells(U, "E") = WorksheetFunction.VLookup(Cells(U, "D"), Sheets("hesap planı").Range("B:D"), 3, 0)
Else
Cells(U, "E") = "Aradığınız değer bulunamadı."
End If
Next
End Sub
 
Son düzenleme:
. . .

Dilim döndüğünce.

Kod:
[B]Sub Düşeyara()[/B]
' kod başlığı

[B]Dim U As Long[/B]
' değişken atama

[B]For U = 6 To [D65536].End(3).Row[/B]
' döngü başlangıcı, 6.satırdan D sütunu son dolu satırına kadar
[B]
If WorksheetFunction.CountIf(Sheets("hesap planı").Range("B:B"), Cells(U, "D")) > 0 Then[/B]
' eğer
' eğersay formülü mantığı ile (CountIf)
' D sütunundaki veri, hesap planı sayfası B sütununda [U]varsa[/U]
[B]
Cells(U, "E") = WorksheetFunction.VLookup(Cells(U, "D"), Sheets("hesap planı").Range("B:D"), 3, 0)[/B]
' VLookup;düşeyara
' E sütununa;
' D sütunundaki veriyi, hesap planı sayfası B sütunudakiler ile karşılaştırır.
' Eşleşiyorsa, B:D aralığında 3 sütundaki veriyi getirir. (B-1 C-2 D-3 oluyor)

[B]Else[/B]
' eğersayda 
' D sütunundaki veri, hesap planı sayfası B sütununda [U]yoksa[/U]

[B]Cells(U, "E") = "Aradığınız değer bulunamadı."[/B]
' E sütununa aradığımız veri yoksa, istediğimizi yazdırabiliriz.

[B]End If[/B]
' eğeri kapatma

[B]Next[/B]
' dönge sonu

[B]End Sub[/B]
' kodlama sonu

. . .
 
Sn.Hüseyin bey,
Çok teşekkür ederim.
Hakkınızı helal ediniz.
selametle kalınız
 
Geri
Üst