Kod düzeltme isteği

BYSERTTAS

Altın Üye
Katılım
9 Ekim 2012
Mesajlar
141
Excel Vers. ve Dili
Excel Vers. ve Dili Ofis 2021 TR 32 Bit
Altın Üyelik Bitiş Tarihi
06-01-2025
Herkese iyi çalışmalar diliyorum.
Aşağıdaki kodun " For Each Tarih In tarihListesi" satırında hata alıyorum. yardımcı olursanız sevinirim.

Private Sub CommandButton1_Click()
Dim apartmanAdi As String
Dim baslamaTarihi As Date
Dim temizlikPeriyodu As String
Dim gun1 As String
Dim gun2 As String
Dim tarihListesi As Collection
Dim Tarih As Date
Dim i As Integer

apartmanAdi = TextBox1.Value
baslamaTarihi = CDate(TextBox2.Value)
temizlikPeriyodu = ComboBox1.Value
Set tarihListesi = New Collection

Select Case temizlikPeriyodu
Case "Ayda 1"
tarihListesi.Add DateAdd("m", 1, baslamaTarihi)
Case "Ayda 2"
tarihListesi.Add DateAdd("d", 15, baslamaTarihi)
tarihListesi.Add DateAdd("m", 1, baslamaTarihi)
Case "Haftada 1"
gun1 = ComboBox2.Value
For i = 1 To 31
Tarih = DateSerial(Year(baslamaTarihi), Month(baslamaTarihi), i)
If Weekday(Tarih, vbMonday) = Weekday(gun1, vbMonday) Then
tarihListesi.Add Tarih
End If
Next i
Case "Haftada 2"
gun1 = ComboBox2.List(ComboBox2.ListIndex)
gun2 = ComboBox2.List(ComboBox2.ListIndex + 1)
For i = 1 To 31
Tarih = DateSerial(Year(baslamaTarihi), Month(baslamaTarihi), i)
If Weekday(Tarih, vbMonday) = Weekday(gun1, vbMonday) Or Weekday(Tarih, vbMonday) = Weekday(gun2, vbMonday) Then
tarihListesi.Add Tarih
End If
Next i
End Select

' Tarih listesini Excel sayfasına yazdırın
Dim ws As Worksheet
Set ws = ThisWorkbook.Sheets("Temizlik Listesi")
ws.Cells.Clear
ws.Cells(1, 1).Value = "Apartman Adı"
ws.Cells(1, 2).Value = "Temizlik Tarihi"

Dim row As Integer
row = 2
For Each Tarih In tarihListesi
ws.Cells(row, 1).Value = apartmanAdi
ws.Cells(row, 2).Value = Tarih
row = row + 1
Next Tarih
End Sub
 

systran

Destek Ekibi
Destek Ekibi
Katılım
15 Aralık 2007
Mesajlar
1,640
Excel Vers. ve Dili
2021 PRO [TR]
Örnek çalışma dosyasını da yüklerseniz daha anlaşılır olacaktır.
 

ÖmerBey

Destek Ekibi
Destek Ekibi
Katılım
22 Ekim 2012
Mesajlar
4,402
Excel Vers. ve Dili
2007 Türkçe
Merhaba,
Dim Tarih As Date satırını silip deneyiniz.
 
Üst