koşullu macro yazmak.

hüseyintok

Altın Üye
Katılım
11 Mart 2020
Mesajlar
87
Altın Üyelik Bitiş Tarihi
11-03-2025
ekteki örnekte ; Kur sheet inden kur bilgilerini F stununa aktarmak, G stununa ise If formülü ile belli karakterle başlıyorsa e/3 gibi bir macro yazmak istiyorum. yardımcı olmanızı rica ederim
 

Ekli dosyalar

ÖmerFaruk

Destek Ekibi
Destek Ekibi
Katılım
22 Ekim 2017
Mesajlar
4,779
Excel Vers. ve Dili
Microsoft 365 Tr-64
F2 hücrenize
=DÜŞEYARA(Sheet1!D2;Kur!$B$2:$C$31;2)

G2 hücrenize
=E2/EĞER(SOLDAN(B2;3)*1=501;2;EĞER(SOLDAN(B2;3)*1=502;3;4))

Edit: Makro ile istemişsiniz. Yeni gördüm.
 

hüseyintok

Altın Üye
Katılım
11 Mart 2020
Mesajlar
87
Altın Üyelik Bitiş Tarihi
11-03-2025
Teşekkürler Ömer bey ama bana macro olarak bu formülü uygulamak istiyorum.
 

YUSUF44

Destek Ekibi
Destek Ekibi
Katılım
4 Ocak 2006
Mesajlar
12,073
Excel Vers. ve Dili
İş : Ofis 365 - Türkçe
Ev: Ofis 365 - Türkçe
Aşağıdaki makroyu deneyin:

PHP:
Sub kurlar()
Set s1 = Sheets("Kur")
Set s2 = Sheets("Sheet1")
sonkur = s1.Cells(Rows.Count, "B").End(3).Row
songun = s2.Cells(Rows.Count, "D").End(3).Row
Application.ScreenUpdating = False
    For i = 2 To songun
        If s2.Cells(i, "D") <> "" Then
            If IsDate(s2.Cells(i, "D")) Then
                s2.Cells(i, "F") = WorksheetFunction.VLookup(s2.Cells(i, "D"), s1.Range("B1:C" & sonkur), 2, 1)
                If Left(s2.Cells(i, "B"), 3) = "501" Then
                    s2.Cells(i, "G") = Round(s2.Cells(i, "E") / 2, 2)
                ElseIf Left(s2.Cells(i, "B"), 3) = "502" Then
                    s2.Cells(i, "G") = Round(s2.Cells(i, "E") / 3, 2)
                Else
                    s2.Cells(i, "G") = Round(s2.Cells(i, "E") / 4, 2)
                End If
            End If
        End If
    Next
Application.ScreenUpdating = True
MsgBox "İşlem tamamlandı", vbInformation
            
End Sub
 
Üst