makro neden toplam işlemi yapmıyor

Katılım
2 Şubat 2007
Mesajlar
194
Excel Vers. ve Dili
Office 2007 Tr
Altın Üyelik Bitiş Tarihi
31/03/2022
merhaba arkadaşlar.ekteki dosyadaki makro toplam işlemi yaptıramıyorum.biryerlerde hata yapıyorum ama anlayamadım nerde.yardımcı olursanız seinirim.şimdiden teşekür ederim
 

Orion1

Uzman
Uzman
Katılım
1 Mart 2005
Mesajlar
22,254
Excel Vers. ve Dili
Win7 Home Basic TR 64 Bit

Ofis-2010-TR 32 Bit
Ekli dosyayı inceleyiniz.:cool:
Kod:
Sub maddeler()
Dim ilktarih As Date, sontarih As Date
Set sv = Sheets("veritabani")
Set sm = Sheets("madde")
ilktarih = CDate(sm.Cells(2, 8))
sontarih = CDate(sm.Cells(4, 8))
sm.Cells(21, 16) = 0
For r = 3 To sv.[a65536].End(3).Row
If CDate(sv.Cells(r, "b")) >= ilktarih And CDate(sv.Cells(r, "b")) <= sontarih And Val(Left(sv.Cells(r, "g"), 3)) = sm.Cells(21, 3) Then
sm.Cells(21, 16).Value = sm.Cells(21, 16).Value + sv.Cells(r, "K").Value
End If
Next
Set sv = Nothing
Set sm = Nothing
End Sub
 

Korhan Ayhan

Administrator
Yönetici
Admin
Katılım
15 Mart 2005
Mesajlar
41,563
Excel Vers. ve Dili
Microsoft 365 Tr-En 64 Bit
Selamlar,

A&#351;a&#287;&#305;daki &#351;ekilde denermisiniz.

Kod:
Sub Maddeler()
    Set SV = Sheets("veritabani")
    Set SM = Sheets("madde")
    &#304;lk_Tarih = SM.Cells(2, 8)
    Son_Tarih = SM.Cells(4, 8)
    SM.Cells(21, 16) = 0
    For X = 3 To SV.[A65536].End(3).Row
    If SV.Cells(X, "B") >= &#304;lk_Tarih Or SV.Cells(X, "B") <= Son_Tarih And Left(SV.Cells(X, "G"), 3) = SM.Cells(21, 3) Then
    SM.Cells(21, 16) = SM.Cells(21, 16) + SV.Cells(X, "K")
    End If
    Next
    Set SV = Nothing
    Set SM = Nothing
    MsgBox "&#304;&#350;LEM&#304;N&#304;Z TAMAMLANMI&#350;TIR.", vbInformation
End Sub
 
Katılım
2 Şubat 2007
Mesajlar
194
Excel Vers. ve Dili
Office 2007 Tr
Altın Üyelik Bitiş Tarihi
31/03/2022
bir sorum daha olacak

makronun şartlarına bir şart daha eklemek istiyorum."D sütunundaki değer olan ilk hücredeki rakamın ilk 3 rakamı eğer 152 ise " gibi bir şart .yalnız makro D sütunundaki kontrolü yaparken muhakkak aşağıdan yukarı doğru yapması gerekiyor.şimdiden teşekür ederim
 

Orion1

Uzman
Uzman
Katılım
1 Mart 2005
Mesajlar
22,254
Excel Vers. ve Dili
Win7 Home Basic TR 64 Bit

Ofis-2010-TR 32 Bit
makronun şartlarına bir şart daha eklemek istiyorum."D sütunundaki değer olan ilk hücredeki rakamın ilk 3 rakamı eğer 152 ise " gibi bir şart .yalnız makro D sütunundaki kontrolü yaparken muhakkak aşağıdan yukarı doğru yapması gerekiyor.şimdiden teşekür ederim
Aşağıdaki kodları deneyiniz.:cool:
Kod:
Sub maddeler()
Dim ilktarih As Date, sontarih As Date
Set sv = Sheets("veritabani")
Set sm = Sheets("madde")
ilktarih = CDate(sm.Cells(2, 8))
sontarih = CDate(sm.Cells(4, 8))
sm.Cells(21, 16) = 0
For r = 3 To sv.[a65536].End(3).Row
If CDate(sv.Cells(r, "b")) >= ilktarih And CDate(sv.Cells(r, "b")) <= sontarih And Val(Left(sv.Cells(r, "g"), 3)) = sm.Cells(21, 3) _
Or Val(Left(sv.Cells(r, "g"), 3)) = 152 Then
sm.Cells(21, 16).Value = sm.Cells(21, 16).Value + sv.Cells(r, "K").Value
End If
Next
Set sv = Nothing
Set sm = Nothing
End Sub
 
Katılım
2 Şubat 2007
Mesajlar
194
Excel Vers. ve Dili
Office 2007 Tr
Altın Üyelik Bitiş Tarihi
31/03/2022
Sn.Orion 2
Ben galiba g&#252;zel anlatamam&#305;&#351;&#305;m derdimi.sorunun &#351;&#246;yle.dosyada da g&#246;d&#252;&#287;&#252;n&#252;z gibi bumlar mamul &#252;retimleri.a s&#252;t&#252;n&#252;nda &#252;retim numaralar&#305; var.benim sorunum makronun her mamul &#252;retiminin (yani d s&#252;tununu )kontrol edecek .arada e&#287;er rakam 152 ile ba&#351;l&#305;yorsa toplam yapacak.yani bu &#351;art ilk &#351;arta ba&#287;lanacak.yaln&#305;z dedi&#287;im gibi her &#252;retilem mamul&#252; kontrol edecek.
 

Orion1

Uzman
Uzman
Katılım
1 Mart 2005
Mesajlar
22,254
Excel Vers. ve Dili
Win7 Home Basic TR 64 Bit

Ofis-2010-TR 32 Bit
İlk şarta D sütunu kontrol şartıda eklendi.
Kod:
Sub maddeler()
Dim ilktarih As Date, sontarih As Date
Set sv = Sheets("veritabani")
Set sm = Sheets("madde")
ilktarih = CDate(sm.Cells(2, 8))
sontarih = CDate(sm.Cells(4, 8))
sm.Cells(21, 16) = 0
For r = 3 To sv.[a65536].End(3).Row
If CDate(sv.Cells(r, "b")) >= ilktarih And CDate(sv.Cells(r, "b")) <= sontarih And Val(Left(sv.Cells(r, "g"), 3)) = sm.Cells(21, 3) _
And Val(Left(sv.Cells(r, "D"), 3)) = 152 Then
sm.Cells(21, 16).Value = sm.Cells(21, 16).Value + sv.Cells(r, "K").Value
End If
Next
Set sv = Nothing
Set sm = Nothing
End Sub
 
Katılım
2 Şubat 2007
Mesajlar
194
Excel Vers. ve Dili
Office 2007 Tr
Altın Üyelik Bitiş Tarihi
31/03/2022
sorun

sorun devam ediyor.dosyayı tekrar gönderiyorum.sorunları renklendiedim.
 

Orion1

Uzman
Uzman
Katılım
1 Mart 2005
Mesajlar
22,254
Excel Vers. ve Dili
Win7 Home Basic TR 64 Bit

Ofis-2010-TR 32 Bit
D sütununun dolu olması gerekiyor.
Ekli dosyayı inceleyiniz.:cool:
 
Katılım
2 Şubat 2007
Mesajlar
194
Excel Vers. ve Dili
Office 2007 Tr
Altın Üyelik Bitiş Tarihi
31/03/2022
Sorun

Sn Orion 2 &#351;&#246;yle bir &#351;ey uygulamam&#305;z m&#252;mk&#252;n de&#287;ilmi,yani offset olay&#305; ile G s&#252;t&#252;n&#252; dolu ise d s&#252;sununu kontrol edecek ,tabi ki dolu olan G s&#252;tunundaki h&#252;relerin sol taraftaki d sutununda herhangi bir de&#287;er.yok.ancak D SUTUNUNDAK&#304; &#304;LK DOLU DE&#286;ER&#304;(TAB&#304; A&#286;AIDAN YUKARI DO&#286;RU KONTROL EDEREK) ALSA BEN&#304;M &#304;&#350;&#304;M&#304; G&#214;R&#220;R D&#304;YE D&#220;&#350;&#220;N&#220;YORUM. TAB&#304; BU &#304;&#350;LEM&#304; G S&#220;TUNUNDA &#304;LK BO&#350; H&#220;CREY&#304; G&#214;RD&#220;KTEN SONRA TEKRARLAMASI GEREK&#304;YOR. S&#304;ZE F&#304;K&#304;R VERMEK HADD&#304;M DE&#286;&#304;L AMA B&#304;R SORAYIM DED&#304;M
 

Orion1

Uzman
Uzman
Katılım
1 Mart 2005
Mesajlar
22,254
Excel Vers. ve Dili
Win7 Home Basic TR 64 Bit

Ofis-2010-TR 32 Bit
Bence siz D sütununu doldurunuz.
Benim yapacağım dağa fazla bir şey yok.:cool:
 
Katılım
2 Şubat 2007
Mesajlar
194
Excel Vers. ve Dili
Office 2007 Tr
Altın Üyelik Bitiş Tarihi
31/03/2022
yine de çok teşekür ederim sayın Orion 2.Yeni yılınızı şimdiden kutlar sağlık ve mutluluklar dilerim.
saygılarımla
Metin Avcıoglu
 

Orion1

Uzman
Uzman
Katılım
1 Mart 2005
Mesajlar
22,254
Excel Vers. ve Dili
Win7 Home Basic TR 64 Bit

Ofis-2010-TR 32 Bit
yine de çok teşekür ederim sayın Orion 2.Yeni yılınızı şimdiden kutlar sağlık ve mutluluklar dilerim.
saygılarımla
Metin Avcıoglu
Rica ederim.
İyi yıllar.:cool:
 
Üst