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
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