• Skip to main content
  • Skip to header right navigation
  • Skip to site footer

My Online Training Hub

Learn Dashboards, Excel, Power BI, Power Query, Power Pivot

  • Courses
  • Pricing
    • Free Courses
    • Power BI Course
    • Excel Power Query Course
    • Power Pivot and DAX Course
    • Excel Dashboard Course
    • Excel PivotTable Course – Quick Start
    • Advanced Excel Formulas Course
    • Excel Expert Advanced Excel Training
    • Excel Tables Course
    • Excel, Word, Outlook
    • Financial Modelling Course
    • Excel PivotTable Course
    • Excel for Customer Service Professionals
    • Excel for Operations Management Course
    • Excel for Decision Making Under Uncertainty Course
    • Excel for Finance Course
    • Excel Analysis ToolPak Course
    • Multi-User Pricing
  • Resources
    • Free Downloads
    • Excel Functions Explained
    • Excel Formulas
    • Excel Add-ins
    • IF Function
      • Excel IF Statement Explained
      • Excel IF AND OR Functions
      • IF Formula Builder
    • Time & Dates in Excel
      • Excel Date & Time
      • Calculating Time in Excel
      • Excel Time Calculation Tricks
      • Excel Date and Time Formatting
    • Excel Keyboard Shortcuts
    • Excel Custom Number Format Guide
    • Pivot Tables Guide
    • VLOOKUP Guide
    • ALT Codes
    • Excel VBA & Macros
    • Excel User Forms
    • VBA String Functions
  • Members
    • Login
    • Password Reset
  • Blog
  • Excel Webinars
  • Excel Forum
    • Register as Forum Member

Previous Business Day Exclude Weekends and Bank Holidays|VBA & Macros|Excel Forum|My Online Training Hub

You are here: Home / Previous Business Day Exclude Weekends and Bank Holidays|VBA & Macros|Excel Forum|My Online Training Hub
Avatar
sp_LogInOut Log In sp_Registration Register
sp_Search Search
Advanced Search|Last Search Results
Search
Forum Scope




Match



Forum Options



Minimum search word length is 3 characters - maximum search word length is 84 characters
sp_Search Search
sp_RankInfo
Lost password?
sp_CrumbsHome HomeExcel ForumVBA & MacrosPrevious Business Day Exclude Weeke…
sp_PrintTopic sp_TopicIcon
Previous Business Day Exclude Weekends and Bank Holidays
Avatar
Sharmita Chatterjee

Active Member
Members
Level 0
Forum Posts: 4
Member Since:
September 8, 2019
sp_UserOfflineSmall Offline
1
September 8, 2019 - 10:13 pm
sp_Permalink sp_Print sp_EditHistory

Hi,

Please if somebody can help me with this. I have googled a lot but was unable to find a correct response to my query.

  1. I have a command button in excel in Sheet 1 of the excel workbook.
  2. When I click on it, the macro runs to give me the previous business date (dd/mm/yyyy - format) in Cell (7, 6)

I have used the below code to exclude weekends:

Sub tempDate ()

Dim tempDate As Date

tempDate= DateAdd(“d", -1, Date)  ‘Today’s date – 1

While Weekday (tempDate) = 1 Or Weeday (tempDate) = 7

‘If tempDate is a Sunday or a Saturday, keep on substracting one day until we get a weekday

 

tempDate =  DateAdd(“d”, -1, tempDate)

Wend

Sheets(“Sheet1”).Select

Cells (7, 6).Value = tempDate

 

End Sub

 

Need to create:

 

Adding to this code I want to also exclude the Melbourne Public holidays.

For eg. 19th April 2019 (Good Friday) and 22nd Monday (Easter Monday)being public holidays if I run the report on Tuesday my previous business date will be 18th April 2019. (So excluding weekend and holidays)

 

Truly appreciate your assistance.

Thanks and regards,

SC

Avatar
Philip Treacy
Admin
Level 10
Forum Posts: 1514
Member Since:
October 5, 2010
sp_UserOfflineSmall Offline
2
September 9, 2019 - 12:49 pm
sp_Permalink sp_Print

Hi Sharmita,

You can use this

   =WorksheetFunction.WorkDay(Now(), -1, Range("Holidays"))

where Holidays is a named range containing the dates of all holidays.

Regards

Phil

Avatar
Sharmita Chatterjee

Active Member
Members
Level 0
Forum Posts: 4
Member Since:
September 8, 2019
sp_UserOfflineSmall Offline
3
September 9, 2019 - 6:10 pm
sp_Permalink sp_Print

Hi Philip,

Thanks for your response.

I have tried the above, it is giving me an error

I have defined a range as "Holidays" in sheet 1 should I have to name the Sheet when I am writing the code?

Sorry being new to vba I am having difficulty in understanding how to include the Range in the code.

Will greatly appreciate if you can help me understand it.

Regards,

SC

Avatar
Philip Treacy
Admin
Level 10
Forum Posts: 1514
Member Since:
October 5, 2010
sp_UserOfflineSmall Offline
4
September 9, 2019 - 9:33 pm
sp_Permalink sp_Print

Hi SC,

If your named range is Holidays then using the code I wrote should work.  The sheet name doesn't matter.

Please attach your workbook so I can see your code.

Regards

Phil

Avatar
Sharmita Chatterjee

Active Member
Members
Level 0
Forum Posts: 4
Member Since:
September 8, 2019
sp_UserOfflineSmall Offline
5
September 10, 2019 - 9:36 am
sp_Permalink sp_Print

Hi Phil,

Thanks for your help.

I have attached the macro file for your reference. The excel version is 2003 though I will be able to convert the same in the excel 2016.

When clicked on the update button it populates the previous date in Cell (7, 6) in Sheet 1 of the worksheet excluding the weekends. I have created a separate sheet with the holiday list.

Please can you help me exclude these holidays from the previous date.

 

Thanks,

SC

Avatar
Philip Treacy
Admin
Level 10
Forum Posts: 1514
Member Since:
October 5, 2010
sp_UserOfflineSmall Offline
6
September 10, 2019 - 11:07 am
sp_Permalink sp_Print

Hi SC,

You need at least Excel 2007 to use the WORKDAY function I'm afraid.  Can you not get that?

Phil

Avatar
Sharmita Chatterjee

Active Member
Members
Level 0
Forum Posts: 4
Member Since:
September 8, 2019
sp_UserOfflineSmall Offline
7
September 10, 2019 - 11:32 am
sp_Permalink sp_Print

Hi Phil,

 

I do have Excel 2016 at my office.

If you are able to create the Workday function please can you forward the entire code.

I can run the code in the office to check if it works fine.

Regards,

SC

Avatar
Philip Treacy
Admin
Level 10
Forum Posts: 1514
Member Since:
October 5, 2010
sp_UserOfflineSmall Offline
8
September 10, 2019 - 4:41 pm
sp_Permalink sp_Print

Hi SC,

Just use the formula I typed out above.  See attached for examples in the worksheet and in VBA.

regards

Phil

sp_Feed
Go to top
Forum Timezone: Australia/Brisbane
Most Users Ever Online: 245
Currently Online:
Guest(s) 11
Currently Browsing this Page:
1 Guest(s)
Top Posters:
SunnyKow: 1432
Anders Sehlstedt: 870
Purfleet: 412
Frans Visser: 346
David_Ng: 306
lea cohen: 219
A.Maurizio: 202
Jessica Stewart: 202
Aye Mu: 201
jaryszek: 183
Newest Members:
John Chisholm
vexokeb sdfg
John Jack
Malcolm Toy
Ray-Yu Yang
George Shihadeh
Naomi Rumble
Uwe von Gostomski
Jonathan Jones
drsven
Forum Stats:
Groups: 3
Forums: 24
Topics: 6212
Posts: 27236

 

Member Stats:
Guest Posters: 49
Members: 31888
Moderators: 3
Admins: 4
Administrators: Mynda Treacy, Philip Treacy, Catalin Bombea, FT
Moderators: MOTH Support, Velouria, Riny van Eekelen
© Simple:Press —sp_Information

Sidebar

Blog Categories

  • Excel
  • Excel Charts
  • Excel Dashboard
  • Excel Formulas
  • Excel PivotTables
  • Excel Shortcuts
  • Excel VBA
  • General Tips
  • Online Training
  • Outlook
  • Power Apps
  • Power Automate
  • Power BI
  • Power Pivot
  • Power Query
microsoft mvp logo
trustpilot excellent rating
Secured by Sucuri Badge
MyOnlineTrainingHub on YouTube Mynda Treacy on Linked In Mynda Treacy on Instagram Mynda Treacy on Twitter Mynda Treacy on Pinterest MyOnlineTrainingHub on Facebook
 

Company

  • About My Online Training Hub
  • Disclosure Statement
  • Frequently Asked Questions
  • Guarantee
  • Privacy Policy
  • Terms & Conditions
  • Testimonials
  • Become an Affiliate

Support

  • Contact
  • Forum
  • Helpdesk - For Technical Issues

Copyright © 2023 · My Online Training Hub · All Rights Reserved. Microsoft and the Microsoft Office logo are trademarks or registered trademarks of Microsoft Corporation in the United States and/or other countries. Product names, logos, brands, and other trademarks featured or referred to within this website are the property of their respective trademark holders.