• DİKKAT

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

Makro ile saat alanlarını doldurma

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,
EK'teki excelde yapılması gerekenlerini yeşil ile işaretledim. G17 sutünundan itibaren saatleri 08 - 17 ve 09 - 15:30 gibi yazanları aynı satırları saatlerinin altına gelecek şekilde makro ile x koyabilir miyiz?

242947
 

Ekli dosyalar

veyselemre

Özel Üye
Katılım
9 Mart 2005
Mesajlar
3,652
Excel Vers. ve Dili
Pro Plus 2021
Kod:
Sub test()
    Dim i, ii, a, bl, s1, s2, bas, son

    With CreateObject("VbScript.Regexp")
        .Pattern = "([\d:\s]+)-([\d:\s]+)"
        For i = 17 To Cells(Rows.Count, "G").End(3).Row
            If .test(Cells(i, "G").Value) Then
                Set a = .Execute(Cells(i, "G").Value)
                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) - 6
                son = Hour(s2) * 2 + IIf(Minute(s2) = 30, 1, 0) - 6
                For ii = bas To son
                    Cells(i, ii).Value = "*"
                Next ii
            End If
        Next i
    End With

End Sub
 

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
Çok teşekkür ederim, tam istediğim gibi oldu
 

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
Kod:
Sub test()
    Dim i, ii, a, bl, s1, s2, bas, son

    With CreateObject("VbScript.Regexp")
        .Pattern = "([\d:\s]+)-([\d:\s]+)"
        For i = 17 To Cells(Rows.Count, "G").End(3).Row
            If .test(Cells(i, "G").Value) Then
                Set a = .Execute(Cells(i, "G").Value)
                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) - 6
                son = Hour(s2) * 2 + IIf(Minute(s2) = 30, 1, 0) - 6
                For ii = bas To son
                    Cells(i, ii).Value = "*"
                Next ii
            End If
        Next i
    End With

End Sub
G sütununda bir format daha varmış, onu da ayarlayabilir misiniz?
Örn: 11 - 16./x/W + 16 - 20./x/W-asd
 
Üst