AccessTr.neT
Formülü Vba Makro İle Yazma - Baskı Önizleme

+- AccessTr.neT (https://accesstr.net)
+-- Forum: Microsoft Excel (https://accesstr.net/forum-microsoft-excel.html)
+--- Forum: Excel Cevaplanmış Soruları (https://accesstr.net/forum-excel-cevaplanmis-sorulari.html)
+--- Konu Başlığı: Formülü Vba Makro İle Yazma (/konu-formulu-vba-makro-ile-yazma.html)

Sayfalar: 1 2


Formülü Vba Makro İle Yazma - malatyalı - 12/05/2021

Kod:
=METNEÇEVİR(EĞER(MOD(SAĞDAN(F5;1);2)=1;TARİH(YIL(C5)+TOPLA(F5+J5);AY(C5)+TOPLA(G5+K5);GÜN(C5)+TOPLA(H5+L5));TARİH(YIL(D5)-J5;AY(D5)-K5;GÜN(D5)-L5));"gg.aa.yyyy")
Es Selamün Aleyküm
Ustam yukarıdaki formülü R1C1 formatı ile Makro kaydet ile Excel kendisi yapıyor.

METNEÇEVİR yerine text yazdım
SAĞDAN yerine rıght gibi değiştirdim ama olmadı




Bu formül normal Vba formatı ile nasıl yazılır?


RE: Formülü Vba Makro İle Yazma - feraz - 12/05/2021

Aleyküm selam abey.Benim açımdan son bir defa daha örnek dosya eklemeniz gerek diyeceğim.Dahada açtığınız konularda dosya olmazsa kendimce cevap yazmayacağım Img-cray
Başka konunuzdada dosya ekleyin diye yazmıştık.Tamam bazı sorularda gerek olmayabilir lakin böyle sorularda şart.Gereksiz yere bir sürü yazı yazdım Img-grin


RE: Formülü Vba Makro İle Yazma - malatyalı - 12/05/2021

Özür dilerim.
Ayrıca da bayramınız mübarek olsun. Dosya ektedir. "F" sütununda ki tarih işleminin makro halini rica ediyorum


RE: Formülü Vba Makro İle Yazma - berduş - 13/05/2021

aşağıdaki makroyu deneyebilirsiniz
bir butona atayıp çalıştırdığınızda D sütunundaki son satıra göre tüm F sütunlarını doldurur
Dim Sht As Worksheet

Set Sht = ThisWorkbook.Worksheets("Sayfa3")
With Sht
SonStr = .Cells(.Rows.Count, "D").End(xlUp).Row

For x = 2 To SonStr
.Range("F" & x).Value = Format(IIf((.Range("H" & x) Mod 2) = 1, _
DateSerial(Year(.Range("D" & x)) + .Range("H" & x) + .Range("L" & x), Month(.Range("D" & x)) + .Range("I" & x) + .Range("M" & x), Day(.Range("D" & x)) + .Range("J" & x) + .Range("N" & x)), _
DateSerial(Year(.Range("E" & x)) - .Range("L" & x), Month(.Range("E" & x)) - .Range("M" & x), Day(.Range("E" & x)) - .Range("N" & x)) _
), "dd.mm.yyyy")

Next x
End With



RE: Formülü Vba Makro İle Yazma - feraz - 13/05/2021

Bende hazırlamıştım Img-grinHerkese Hayırlı Bayramlar.

[Resim: do.php?img=11029]
https://resim.accesstr.net/do.php?img=11029

Sub kodFormul()

Dim tarh As Date, i As Integer
Dim topla1 As Integer, topla2 As Integer, topla3 As Integer
Dim cikart1 As Integer, cikart2 As Integer, cikart3 As Integer

With ThisWorkbook.Sheets("Sayfa3")
    .Range("A2:A" & Rows.Count).ClearContents
    For i = 2 To .Cells(Rows.Count, "D").End(3).Row
        topla1 = WorksheetFunction.Sum(.Cells(i, "H"), .Cells(i, "L"))
        topla2 = WorksheetFunction.Sum(.Cells(i, "i"), .Cells(i, "m"))
        topla3 = WorksheetFunction.Sum(.Cells(i, "j"), .Cells(i, "n"))
       
        cikart1 = .Cells(i, "L").Value
        cikart2 = .Cells(i, "M").Value
        cikart3 = .Cells(i, "N").Value
       
        If Right(.Cells(i, "H"), 1) Mod 2 = 1 Then
            tarh = DateSerial(Year(.Cells(i, "D").Value) + topla1, Month(.Cells(i, "D").Value) + topla2, Day(.Cells(i, "D").Value) + topla3)
        Else
            tarh = DateSerial(Year(.Cells(i, "E").Value) - cikart1, Month(.Cells(i, "E").Value) - cikart2, Day(.Cells(i, "E").Value) - cikart3)
        End If
       
        .Cells(i, "A").Value = tarh
        .Range("A2:A" & Rows.Count).NumberFormat = "dd.mm.yyyy"
    Next i
End With
End Sub



RE: Formülü Vba Makro İle Yazma - malatyalı - 13/05/2021

Berduş ustam Bayramınız mübarek olsun.
Feraz Ustam Bayramınız mübarek olsun.
Daha nice bayramlar göresiniz inşallah.

Yardımlarınızı esirgemediğiniz için de sonsuz teşekkürler. Emanetiniz Canı size verene