Arkadaşlar her ayın yirmisinden sonra otomatik çalışacak makro

Katılım
16 Kasım 2008
Mesajlar
56
Excel Vers. ve Dili
excel2003
Arkadaşlar yokmu yardım edecek

Arkadaşlar aşağıdaki makro istediğim işlemi gerçekleştiriyor ama
ben bu makronun her ayın 20'sinden sonra çalışma kitabı ne zaman açılırsa ozaman bu makro kodunun kendiliğinden çalışmasını istiyorum.
aşağıdaki kodla ayın yirmisinde manuel gerçekleşiyor bunu kendiliğinden yapsın istiyorum yardımlarınız için teşekkür ederim.



Sub HücreSil()
b = Mid(Date, 1, 2)
If b = 20 Then
Dim hcr As Range
For Each hcr In Range("B2:R100")
If hcr.Value = 1 Then
hcr.Offset(0, -1).Delete (xlUp)
hcr.Delete (xlUp)
End If
Next
MsgBox "Silme işlemi gerçekleşti."
End If
End Sub
 
Son düzenleme:
Katılım
22 Eylül 2006
Mesajlar
883
Excel Vers. ve Dili
Office Excel®2007®TR
Aşağıdaki şekilde dener misin ?
Kod:
Sub Auto_Open()
b = Mid(Format(Date, "dd"), 1, 2)
If b > 20 Then
Dim hcr As Range
For Each hcr In Range("B2:R100")
If hcr.Value = 1 Then
hcr.Offset(0, -1).Delete (xlUp)
hcr.Delete (xlUp)
End If
Next
MsgBox "Silme işlemi gerçekleşti."
End If
End Sub
 
Katılım
16 Kasım 2008
Mesajlar
56
Excel Vers. ve Dili
excel2003
çok teşekkür ederim

yukarıdaki kodların çalışmasını istediğim sayfanın adı "çeklerin seri numaraları"
yukarıdaki kodun sadece adını yazdığım sayfada çalışmasını ve "data" adında ana sayfam var buraya geri dönmesini istiyorum. Bu mümkünmüdür.
 
Katılım
22 Eylül 2006
Mesajlar
883
Excel Vers. ve Dili
Office Excel®2007®TR
çok teşekkür ederim

yukarıdaki kodların çalışmasını istediğim sayfanın adı "çeklerin seri numaraları"
yukarıdaki kodun sadece adını yazdığım sayfada çalışmasını ve "data" adında ana sayfam var buraya geri dönmesini istiyorum. Bu mümkünmüdür.
Aşağıdaki şekilde dener misin ?
Kod:
Kod:
Sub Auto_Open()
Sheets("çeklerin seri numaraları").Select
b = Mid(Format(Date, "dd"), 1, 2)
If b > 20 Then
Dim hcr As Range
For Each hcr In Range("B2:R100")
If hcr.Value = 1 Then
hcr.Offset(0, -1).Delete (xlUp)
hcr.Delete (xlUp)
End If
Next
MsgBox "Silme işlemi gerçekleşti."
End If
Sheets("Data").Select
End Sub
 
Katılım
16 Kasım 2008
Mesajlar
56
Excel Vers. ve Dili
excel2003
Teşekkür Ederim.
"Bana bir harf öğretenin kırk yıl kölesi olurum"
 

leumruk

Uzman
Uzman
Katılım
15 Nisan 2007
Mesajlar
3,470
Excel Vers. ve Dili
Office 2010 & 2013 tr
Selamlar, konuyla ilgili bir uyarı yapma ihtiyacı duydum:
Kod:
b = Mid(Date, 1, 2)
If b = 20 Then
Syn. acemituncay,
Daha önceki başlığınızda, her ayın yirmisinde, kod çalışsın ve ilgili satırı silsin şeklinde bir ifade kullandığınız için aklıma böyle bir çözüm gelmişti; ancak şu an 20'sinden sonra çalışsın şeklinde bir istekte bulunmuşsunuz.
Kodun işlevini açıklarsam daha net anlaşılır sanırım: Mid koduyla, bulunulan ayın ilk iki karakterini alıyor, eğer bu karakterler 20 ise kod çalışıyordu.
Kodu B>20 şeklinde yaptığımızda 20'sinden sonraki günlerde dosyayı açarsanız kod çalışır. Buraya kadar bir sorun yok.
Kodun çalışması için dosyayı aynı ay içinde çalıştırmanız gerekir. Yani 20'sinden sonra ortalama 9 gün içinde dosyayı açmanız gerekir. Aksi takdirde diğer aya geçeceğinden gün kısmı 20' den küçük olacak ve kod çalışmayacaktır. Taki yeni ayın yirmisi gelene kadar.
Bu hususa dikkat edin.
 
Üst