Application.RecordMacro method (Excel)

Records code if the macro recorder is on.


expression.RecordMacro (BasicCode, XlmCode)

expression A variable that represents an Application object.


Name Required/Optional Data type Description
BasicCode Optional Variant A string that specifies the Visual Basic code that will be recorded if the macro recorder is recording into a Visual Basic module. The string will be recorded on one line. If the string contains a carriage return (ASCII character 10, or Chr$(10) in code), it will be recorded on more than one line.
XlmCode Optional Variant This argument is ignored.


The RecordMacro method cannot record into the active module (the module in which the RecordMacro method exists).

If BasicCode is omitted and the application is recording into Visual Basic, Microsoft Excel will record a suitable Application.Run statement.

To prevent recording (for example, if the user cancels your dialog box), call this function with two empty strings.


This example records Visual Basic code.

Application.RecordMacro BasicCode:="Application.Run ""MySub"" "

Support and feedback

Have questions or feedback about Office VBA or this documentation? Please see Office VBA support and feedback for guidance about the ways you can receive support and provide feedback.