View Single Post
  #8   Report Post  
Posted to microsoft.public.excel.programming
Thyag Thyag is offline
external usenet poster
 
Posts: 39
Default 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