bthn35
Altın Üye
- Katılım
- 12 Kasım 2009
- Mesajlar
- 201
- Excel Vers. ve Dili
- 365 ProPlus TR
- Altın Üyelik Bitiş Tarihi
- 17-11-2026
Merhaba,
Aşağıdaki makroyu kullanıyorum ancak bugün bir sorunla karşılaştım, saat sütununda (D sütünu) 16 - 24. gibi 24 yazdığında makro hata veriyor. Bunun için makroya ne eklemeliyim?
Aşağıdaki makroyu kullanıyorum ancak bugün bir sorunla karşılaştım, saat sütununda (D sütünu) 16 - 24. gibi 24 yazdığında makro hata veriyor. Bunun için makroya ne eklemeliyim?
Kod:
Sub Saat()
Dim i, ii, a, bl, s1, s2, bas, son
Dim n, y As Variant
With CreateObject("VbScript.Regexp")
.Pattern = "([\d:\s]+)-([\d:\s]+)"
For i = 8 To Cells(Rows.Count, "D").End(3).Row
If .test(Cells(i, "D").Value) Then
y = Split(Cells(i, "D").Value, "+")
For n = 1 To UBound(y) + 1
Set a = .Execute(Trim(y(n - 1)))
bl = Split(a(0), "-")
s1 = Trim(bl(0))
If InStr(s1, ":") = 0 Then s1 = s1 & ":00"
s2 = Trim(bl(1))
If InStr(s2, ":") = 0 Then s2 = s2 & ":00"
bas = Hour(s1) * 2 + IIf(Minute(s1) = 30, 1, 0) - 7
son = Hour(s2) * 2 + IIf(Minute(s2) = 30, 0, -1) - 7
For ii = bas To son
Cells(i, ii).Value = "x"
Next ii
Next n
End If
Next i
End With
End Sub