Work book with working days only
On Aug 21, 1:56 pm, Jana wrote:
On Aug 21, 10:41 am, Thyag wrote:
On Aug 21, 1:34 pm, Jana wrote:
On Aug 21, 10:31 am, Jana wrote:
On Aug 21, 10:04 am, Thyag wrote:
On Aug 21, 12:56 pm, Vergel Adriano
wrote:
here's one way. It will put all week days of the current month in column A.
Sub test()
Dim dtStart As Date
Dim dtEnd As Date
Dim dt As Date
Dim l As Long
dtStart = DateAdd("d", -Day(Date) + 1, Date)
dtEnd = DateAdd("m", 1, dtStart) - 1
dt = dtStart
l = 1
While dt <= dtEnd
If Application.WorksheetFunction.Weekday(dt, 2) < 6 Then
ActiveSheet.Range("A" & l).Value = dt
l = l + 1
End If
dt = dt + 1
Wend
End Sub
--
Hope that helps.
Vergel Adriano
"Thyag" wrote:
Hi All,
I Need the code that can generate sheets with date of all the working
days in a month.
Note - Working days are the days between monday and friday.
Thanks
Thyag- Hide quoted text -
- Show quoted text -
Hi Vergel Adriano,
Well, I really appriciate this.
But I need the same dates to appear as the sheet tab names.
Is this possible....?
Thanks,
Thyag- Hide quoted text -
- Show quoted text -
Thyag:
Try this:
Sub test()
Dim dtStart As Date
Dim dtEnd As Date
Dim dt As Date
Dim l As Long
dtStart = DateAdd("d", -Day(Date) + 1, Date)
dtEnd = DateAdd("m", 1, dtStart) - 1
dt = dtStart
l = 1
While dt <= dtEnd
If Application.WorksheetFunction.Weekday(dt, 2) < 6 Then
ActiveWorkbook.Sheets.Add
After:=Worksheets(Worksheets.Count)
ActiveSheet.Name = Format(dt, "mm-dd-yyyy")
l = l + 1
End If
dt = dt + 1
Wend
End Sub
You can change the format of the sheet names as needed.
HTH,
Jana- Hide quoted text -
- Show quoted text -
Please note that the line beginning with After:= wrapped to the next
line in my post.
Jana- Hide quoted text -
- Show quoted text -
This is really wonder ful.
I just want a small modification for this.
Can I generate the same sheets for any specified month.
Thanks,
Thyag.- Hide quoted text -
- Show quoted text -
Thyag:
This will prompt you for a beginning date, but will error out if you
input anything other than a date into the input box.
Sub test()
Dim dtStart As Date
Dim dtEnd As Date
Dim dt As Date
Dim l As Long
dtStart = CDate(InputBox("Enter desired start date in mm/dd/yyyy
format:", "Begin Date?"))
dtStart = DateAdd("d", -Day(dtStart) + 1, dtStart)
dtEnd = DateAdd("m", 1, dtStart) - 1
dt = dtStart
l = 1
While dt <= dtEnd
If Application.WorksheetFunction.Weekday(dt, 2) < 6 Then
ActiveWorkbook.Sheets.Add After:=Worksheets(Worksheets.Count)
ActiveSheet.Name = Format(dt, "mm-dd-yyyy")
l = l + 1
End If
dt = dt + 1
Wend
End Sub
Again, watch out for any line wrapping.
HTH,
Jana- Hide quoted text -
- Show quoted text -
Hi,
It is really fantastic.
Is it possible to give only month + year and get the same result...?
Thanks,
Thyag
|