• DİKKAT

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

Formulü makro ile uygulama

Katılım
13 Ocak 2010
Mesajlar
46
Excel Vers. ve Dili
Office2007
Merhaba

=EĞER(C2="";"";DÜŞEYARA(C2;'Fiyatlar'!$A$2:$B$50;2;0))

Yukarıda görülen formul LİSTE adlı sayfamın E2 hücresinde, C2 hücresine ürün adını yazdığım zaman bu formul ile ürünü FİYATLAR sayfasında arayıp B sütununda yazılı olan fiyatını alıyorum.

Formul ile yaptığım bu işlemi makro kodları ile nasıl yapabilirim.
Teşekkürler.
 
:cool:
Kod:
Sub bul()
Dim k As Range
Sheets("LİSTE").Range("E2").Value = ""
Set k = Sheets("FİYATLAR").Range("A2:A50").Find(Sheets("LİSTE") _
.Range("C2").Value, , xlValues, xlWhole)
If Not k Is Nothing Then
    Range("E2").Value = k.Offset(0, 1).Value
End If
End Sub
 
Evren bey teşekkür ederim.
İşlemi LİSTE sayfasında c2:c65536 arasında uygulamaya çalıştım ancak yapamadım. C sütununda alt alta hücrelerde yazacağım herhangi ürün karşısında E sütununda fiyatı. Bu şekilde yapmaya çalıştım olmadı.
 
Evren bey teşekkür ederim.
İşlemi LİSTE sayfasında c2:c65536 arasında uygulamaya çalıştım ancak yapamadım. C sütununda alt alta hücrelerde yazacağım herhangi ürün karşısında E sütununda fiyatı. Bu şekilde yapmaya çalıştım olmadı.
Benim yazdığım kodlar, sizin formüldeki yazdığınız sütunları kapsamıyormuydu?
 
Evren bey
Doğru ilgili sütunları kapsıyor ama sadece sütunlar 2.hücresini, evet hata bende çünkü sorumda eksiklik olduğunu farkettim. Özür dilerim.
Dosyamı ekliyorum.
 

Ekli dosyalar

Selamlar,

Aşağıdaki kodu denermisiniz.

Kod:
Option Explicit
 
Private Sub Worksheet_Change(ByVal Target As Range)
    Dim BUL As Range
    On Error GoTo Son
    If Intersect(Target, [C2:C65536,F2:F65536,H2:H65536]) Is Nothing Then Exit Sub
    If Target.Column = 3 And Target <> "" Then
    Set BUL = Sheets("FİYATLAR").Range("A:A").Find(Target, LookAt:=xlWhole)
    If Not BUL Is Nothing Then
    Cells(Target.Row, "E") = Sheets("FİYATLAR").Cells(BUL.Row, "B")
    Cells(Target.Row, "G") = Cells(Target.Row, "E") * Cells(Target.Row, "F")
    Else
    Cells(Target.Row, "E") = ""
    Cells(Target.Row, "G") = Cells(Target.Row, "E") * Cells(Target.Row, "F")
    Cells(Target.Row, "I") = Cells(Target.Row, "G") - Cells(Target.Row, "H")
    End If
    ElseIf Target.Column = 6 And Target <> "" Then
    Cells(Target.Row, "G") = Cells(Target.Row, "E") * Cells(Target.Row, "F")
    ElseIf Target.Column = 8 And Target <> "" Then
    Cells(Target.Row, "I") = Cells(Target.Row, "G") - Cells(Target.Row, "H")
    Else
    Range("D" & Target.Row & ":I" & Target.Row).ClearContents
    End If
Son:
End Sub
 
Evet Korhan bey yapmak istediğim olay bu. Mükemmel...
Korhan bey ve Evren bey yardımlarınız için teşekkür ederim.
 
Geri
Üst