Date Function in Excel VBA

There are two ways to “date function in excel vba”: the quick way you copy and the durable way you understand. This page gives you both. The exact Excel answer is above; below, we build the small mental model that makes the fix stick, so the next variation of the same problem solves itself.

Exact answer

In Excel: paste Sub Macro1() into the VBA editor (Alt + F11 → Insert ▸ Module), press F5 to run, and save as .xlsm to keep the macro. Excel for the web cannot create, run, or edit VBA macros. Open the workbook in the Excel desktop app to work with macros.

On this page8

VBA macro: Date Function

Scroll code horizontally to see more
Sub Macro1()
    ' date function — replace the body with your steps
    Dim ws As Worksheet
    Set ws = ActiveSheet
    ' ... your code here ...
End Sub

How to run this macro

  1. Press Alt + F11 to open the VBA editor.
  2. Insert > Module.
  3. Paste the code above.
  4. Press F5, or close the editor and run it from Developer > Macros.
  5. Save the file as .xlsm so the macro is kept.
▤Annotated stepsExcel
1

Press Alt + F11 to open the VBA editor.

2

Insert ▸ Module.

3

Paste the code above.

4

Press F5 (or close the editor and run it from Developer ▸ Macros).

5

Save the file as .xlsm so the macro is kept.

Ctrl+CthenCtrl+Shift+V⌘+Cthen⌘+Ctrl+VPaste values · WindowsMac

What this does

The Date Function macro lets you date function in Excel without repeating the steps by hand. Paste the Sub Macro1() code into the VBA editor (Alt + F11 → Insert ▸ Module) and run it from Developer ▸ Macros or by pressing F5 inside the editor. Once the macro runs, Excel executes every step programmatically — what might take several manual passes through your data completes in a single click. Because the code is stored in the workbook, you can reuse the Date Function macro any time the same task arises without rebuilding the steps from scratch. Read the code once before running it: note which sheets, ranges and files it touches and whether it deletes or overwrites anything. Macros run only in desktop Excel with macros enabled, and the code is kept only in a macro-enabled format such as .xlsm. Treat “date function in excel vba” as a small repeatable workflow rather than a one-off click you hope to remember next time. Use a small test block before the live file, so any surprise in the affected formula shows up while it is still harmless. When this is a ribbon command, the selection matters more than the button: confirm the range, apply the command, then spot-check the output before saving. That turns a workflow that saves repeating the same clicks every week into a method you can reuse, explain, and defend when the workbook leaves your screen.

A worked example

Scenario: you have a workbook with 500 rows of sales data and you need to date function. Without a macro you would scroll through every row manually, which is error-prone and slow. Instead, open the VBA editor (Alt + F11), insert a Module (Insert ▸ Module), paste Sub Macro1() into the code window, and press F5 to run. The macro processes all 500 rows in under a second, date function exactly as specified by the code. On a Mac, use Option+F11 to open the editor if Alt+F11 does not respond. Use Sub Macro1() every time you need to date function reliably at scale. The macro eliminates the most common sources of error in manual work: missed rows, wrong column references, and inconsistent criteria. Once the code is tested and trusted, you can run it repeatedly with one click — zero cognitive overhead, zero variation in output. If the macro will be shared, add a comment at the top saying what it changes and which sheet it expects, and keep the workbook as .xlsm — saving it as .xlsx removes the code.

In Google Sheets

Google Sheets does not run VBA. A macro written for Excel has to be rewritten in Google Apps Script (Extensions ▸ Apps Script), and an .xlsm file converted to Sheets keeps its cells but drops the code. Keep this page bookmarked for the next time the same question comes up. Better still, repeat the steps once in your own workbook — doing it yourself is what turns a copied answer into something you remember. The short version of “date function in excel vba”: paste the code, keep the workbook macro-enabled, trust the file only if you know where it came from, and test on a copy. Code that refers to the active sheet acts on whichever sheet is active, so check that before you run it.

Common mistakes

  • Saving as .xlsx instead of .xlsm — Excel strips all VBA code when you save in the non-macro-enabled format. Always choose "Excel Macro-Enabled Workbook (.xlsm)" from the Save As dialog.
  • Running the macro on the wrong sheet — Sub Macro1() acts on ActiveSheet by default. If you have multiple sheets open, click the correct sheet tab first before pressing Run.
  • Macros are disabled — if you see a security warning bar, click Enable Content. If there is no bar at all, set File ▸ Options ▸ Trust Center ▸ Trust Center Settings ▸ Macro Settings to "Disable VBA macros with notification", which is the safe default that still lets you approve a file per workbook. Do not select "Enable all macros": it removes the only warning you get before a hostile workbook executes.

Frequently asked questions

How do I run the Date Function macro?

Press Alt + F11 to open the VBA editor, insert a Module (Insert ▸ Module), paste Sub Macro1() into the code pane, and press F5. Alternatively close the editor and run it from Developer ▸ Macros ▸ select "Macro1" ▸ Run.

Why won't my macro run — macros are disabled?

Excel blocks macros by default for files downloaded from the internet. Click the yellow security bar and choose "Enable Content" — that trusts this one workbook and is all that is normally needed. Leave File ▸ Options ▸ Trust Center ▸ Trust Center Settings ▸ Macro Settings on "Disable VBA macros with notification" rather than switching to "Enable all macros", which Microsoft itself marks not recommended. If the bar is red instead of yellow, the file carries Mark of the Web: close Excel, right-click the file, open Properties and tick Unblock. Also ensure the file is saved as .xlsm, not .xlsx.

Can I undo what the Date Function macro did?

No — VBA actions generally cannot be undone with Ctrl+Z because they bypass Excel's undo stack. Always test Sub Macro1() on a backup copy of the workbook before running it on live data, or add explicit validation logic inside the macro before the destructive step.