• DİKKAT

    DOSYA İndirmek/Yüklemek için ÜCRETLİ ALTIN ÜYELİK Gereklidir!
    Altın Üyelik Hakkında Bilgi

Kod düzeltme isteği

Katılım
9 Ekim 2012
Mesajlar
142
Excel Vers. ve Dili
Excel Vers. ve Dili Ofis 2021 TR 32 Bit
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
 
Örnek çalışma dosyasını da yüklerseniz daha anlaşılır olacaktır.
 
Merhaba,
Dim Tarih As Date satırını silip deneyiniz.
 
Geri
Üst