• DİKKAT

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

Soru Kenarlık

sirkülasyon

Altın Üye
Katılım
10 Temmuz 2012
Mesajlar
2,543
Excel Vers. ve Dili
2021 LTSC TR
Altın Üyelik Bitiş Tarihi
18-06-2026
Kod:
Dim Ay As Byte, İlk_Gün As Date, Son_Gün As Date, Tarih As Date, Satır As Byte

Range("B6:H31").ClearContents
Satır = 6

Select Case Range("C2")
Case Is = "Ocak": Ay = 1
Case Is = "Şubat": Ay = 2
Case Is = "Mart": Ay = 3
Case Is = "Nisan": Ay = 4
Case Is = "Mayıs": Ay = 5
Case Is = "Haziran": Ay = 6
Case Is = "Temmuz": Ay = 7
Case Is = "Ağustos": Ay = 8
Case Is = "Eylül": Ay = 9
Case Is = "Ekim": Ay = 10
Case Is = "Kasım": Ay = 11
Case Is = "Aralık": Ay = 12
End Select

İlk_Gün = DateSerial(Range("C1"), Ay, 1)
Son_Gün = DateSerial(Range("C1"), Ay + 1, 0)

For Tarih = İlk_Gün To Son_Gün
If Weekday(Tarih, vbMonday) < 6 Then
Cells(Satır, 2) = Tarih
Cells(Satır, 3) = Format(Tarih, "dddd")
Satır = Satır + 1
End If
Next
MsgBox "İşleminiz tamamlanmıştır.", vbInformation
B6:H31 aralığına seçilen Yıl ve Ay gün sayısı kadar
Kenarlıkları Çift çizgili
İçi normal çizgili olacak şekilde nasıl bir kod olabilir?
Yardımcı olabilir misiniz?
 
Katılım
9 Eylül 2010
Mesajlar
879
Excel Vers. ve Dili
2016&2019&2021 TR
Altın Üyelik Bitiş Tarihi
29-09-2023
Hocam kod bilmiyorum ama önce koşullu yapıp makro kaydettikten sonra koda ekleseniz çözüm olmuyor mu
 

Necdet

Moderatör
Yönetici
Katılım
4 Haziran 2005
Mesajlar
15,607
Excel Vers. ve Dili
Ofis 365 Türkçe
Deneyiniz

Kod:
Sub Test()

    Dim Satır As Integer, _
        İlk_Gün As Date, _
        Son_gün As Date
    
    Application.ScreenUpdating = False
    
    With Range("B6:H31")
        .ClearContents
        .Borders(xlEdgeLeft).LineStyle = xlNone
        .Borders(xlEdgeTop).LineStyle = xlNone
        .Borders(xlEdgeBottom).LineStyle = xlNone
        .Borders(xlEdgeRight).LineStyle = xlNone
        .Borders(xlInsideVertical).LineStyle = xlNone
        .Borders(xlInsideHorizontal).LineStyle = xlNone
    End With
    
    Satır = 6
    
    Select Case Range("C2")
        Case Is = "Ocak": Ay = 1
        Case Is = "Şubat": Ay = 2
        Case Is = "Mart": Ay = 3
        Case Is = "Nisan": Ay = 4
        Case Is = "Mayıs": Ay = 5
        Case Is = "Haziran": Ay = 6
        Case Is = "Temmuz": Ay = 7
        Case Is = "Ağustos": Ay = 8
        Case Is = "Eylül": Ay = 9
        Case Is = "Ekim": Ay = 10
        Case Is = "Kasım": Ay = 11
        Case Is = "Aralık": Ay = 12
    End Select
    
    İlk_Gün = DateSerial(Range("C1"), Ay, 1)
    Son_gün = DateSerial(Range("C1"), Ay + 1, 0)
    
    For Tarih = İlk_Gün To Son_gün
        If Weekday(Tarih, vbMonday) < 6 Then
            Cells(Satır, 2) = Tarih
            Cells(Satır, 3) = Format(Tarih, "dddd")
            Satır = Satır + 1
        End If
    Next
    
    Border
    
    Application.ScreenUpdating = True
    
    MsgBox "İşleminiz tamamlanmıştır.", vbInformation
    
End Sub
Kod:
Sub Border()

    Dim i As Integer
    Dim rng As Range
    
    i = Range("B6").End(xlDown).Row
    Set rng = Range("B6:H" & i)
    
    
    With rng.Borders(xlEdgeLeft)
        .LineStyle = xlDouble
        .ThemeColor = 1
        .TintAndShade = -0.49
        .Weight = xlThick
    End With
    With rng.Borders(xlEdgeTop)
        .LineStyle = xlDouble
        .ThemeColor = 1
        .TintAndShade = -0.49
        .Weight = xlThick
    End With
    With rng.Borders(xlEdgeBottom)
        .LineStyle = xlDouble
        .ThemeColor = 1
        .TintAndShade = -0.49
        .Weight = xlThick
    End With
    With rng.Borders(xlEdgeRight)
        .LineStyle = xlDouble
        .ThemeColor = 1
        .TintAndShade = -0.49
        .Weight = xlThick
    End With
    With rng.Borders(xlInsideVertical)
        .LineStyle = xlContinuous
        .ThemeColor = 1
        .TintAndShade = -0.49
        .Weight = xlThin
    End With
    With rng.Borders(xlInsideHorizontal)
        .LineStyle = xlContinuous
        .ThemeColor = 1
        .TintAndShade = -0.49
        .Weight = xlThin
    End With
    
    Set rng = Nothing
    
End Sub
 

Korhan Ayhan

Administrator
Yönetici
Admin
Katılım
15 Mart 2005
Mesajlar
43,606
Excel Vers. ve Dili
Microsoft 365 Tr-En 64 Bit
Deneyiniz.

C++:
Option Explicit

Sub Workday_List()
    Dim Ay As Byte, İlk_Gün As Date, Son_Gün As Date, Tarih As Date, Satır As Byte
    
    Range("B6:H31").Clear
    Satır = 6
    
    Select Case Range("C2")
        Case Is = "Ocak": Ay = 1
        Case Is = "Şubat": Ay = 2
        Case Is = "Mart": Ay = 3
        Case Is = "Nisan": Ay = 4
        Case Is = "Mayıs": Ay = 5
        Case Is = "Haziran": Ay = 6
        Case Is = "Temmuz": Ay = 7
        Case Is = "Ağustos": Ay = 8
        Case Is = "Eylül": Ay = 9
        Case Is = "Ekim": Ay = 10
        Case Is = "Kasım": Ay = 11
        Case Is = "Aralık": Ay = 12
    End Select
    
    İlk_Gün = DateSerial(Range("C1"), Ay, 1)
    Son_Gün = DateSerial(Range("C1"), Ay + 1, 0)
    
    For Tarih = İlk_Gün To Son_Gün
        If Weekday(Tarih, vbMonday) < 6 Then
            Cells(Satır, 2) = Tarih
            Cells(Satır, 3) = Format(Tarih, "dddd")
            Satır = Satır + 1
        End If
    Next
    
    With Range("B6:H" & Satır - 1)
        .BorderAround LineStyle:=xlDouble
        .Borders(xlInsideVertical).LineStyle = xlContinuous
        .Borders(xlInsideHorizontal).LineStyle = xlContinuous
    End With
    
    MsgBox "İşleminiz tamamlanmıştır.", vbInformation
End Sub
 

sirkülasyon

Altın Üye
Katılım
10 Temmuz 2012
Mesajlar
2,543
Excel Vers. ve Dili
2021 LTSC TR
Altın Üyelik Bitiş Tarihi
18-06-2026
Her iki Üstadıma da (Necdet ve Korhan Ayhan) ayrı ayrı teşekkür ederim.
 
Üst