• یک تقویم 12 ماهه با روز برجسته در اکسل ایجاد کنید

    در این پست می آموزیم که چگونه یک تقویم 12 ماهه با روز برجسته در اکسل ایجاد کنیم

    با داشتن روز برجسته ، یک تقویم قالب بندی شده 12 ماهه را در یک برگه جدید در اکسل ایجاد کنید.

    این ماکرو یک تقویم 12 ماهه با فرمت زیبا ایجاد می کند که در آن همه روزها در هر ماه ذکر شده و در قالب تاریخ. این بدان معناست که می توانید بلافاصله کارکردها و فرمولهای مربوط به تاریخ را خاموش از تاریخ های ایجاد شده از این کلان و تقویم انجام دهید.
    اگر نیاز به صفحه نمایش تقویم در اکسل داشته باشید ، این ماکرو زمان زیادی را در شما ذخیره می کند. این کلان از نظر قالب بندی نیز بسیار آسان است و اگر می خواهید رنگ های عنوان یا رنگ پس زمینه سلول و غیره را تغییر دهید خوب است.

    Sub CreateCalendar()
    
    Dim lMonth As Long
    Dim strMonth As String
    Dim rStart As Range
    Dim strAddress As String
    Dim rCell As Range
    Dim lDays As Long
    Dim dDate As Date
    
    'Add new sheet and format
    Worksheets.Add
    ActiveWindow.DisplayGridlines = False
    With Cells
     .ColumnWidth = 6#
     .Font.Size = 8
    End With
    
    'Create the Month headings
    For lMonth = 1 To 4
     Select Case lMonth
     Case 1
      strMonth = "January"
      Set rStart = Range("A1")
     Case 2
      strMonth = "April"
      Set rStart = Range("A8")
     Case 3
      strMonth = "July"
      Set rStart = Range("A15")
     Case 4
      strMonth = "October"
      Set rStart = Range("A22")
     End Select
    
     'Merge, AutoFill and align months
     With rStart
      .Value = strMonth
      .HorizontalAlignment = xlCenter
      .Interior.ColorIndex = 6
      .Font.Bold = True
       With .Range("A1:G1")
        .Merge
        .BorderAround LineStyle:=xlContinuous
       End With
      .Range("A1:G1").AutoFill Destination:=.Range("A1:U1")
     End With
    
    Next lMonth
    
    'Pass ranges for months
    For lMonth = 1 To 12
     strAddress = Choose(lMonth, "A2:G7", "H2:N7", "O2:U7", _
     "A9:G14", "H9:N14", "O9:U14", _
     "A16:G21", "H16:N21", "O16:U21", _
     "A23:G28", "H23:N28", "O23:U28")
     lDays = 0
     Range(strAddress).BorderAround LineStyle:=xlContinuous
     'Add dates to month range and format
     For Each rCell In Range(strAddress)
      lDays = lDays + 1
      dDate = DateSerial(Year(Date), lMonth, lDays)
      If Month(dDate) = lMonth Then ' It's a valid date
       With rCell
        .Value = dDate
        .NumberFormat = "ddd dd"
       End With
      End If
     Next rCell
    Next lMonth
    
    'add con formatting
    With Range("A1:U28")
     .FormatConditions.Add Type:=xlCellValue, Operator:=xlEqual, Formula1:="=TODAY()"
     .FormatConditions(1).Font.ColorIndex = 2
     .FormatConditions(1).Interior.ColorIndex = 1
    End With
    
    End Sub
    

     

    نظرات ارسال شده ارسال نظر جدید
    برای تبادل نظر، می بایست در سایت وارد شوید

    ورود به سایت
تماس سبد خرید بالا