如何录制宏

录制宏的最简单方法是 Excel 左下角的按钮如下所示: https://i.stack.imgur.com/8NxzB.jpg

当你单击此按钮时,将出现一个弹出窗口,要求你命名宏并确定是否要使用快捷键。此外,询问存储宏的位置和描述。你可以选择任何你想要的名称,不允许使用空格。

https://i.stack.imgur.com/lRVlj.jpg

如果你希望为宏快速分配快捷方式,请选择一个你将记住的字母,以便你可以快速轻松地反复使用该宏。

你可以将宏存储在此工作簿新工作簿个人宏工作簿中。如果你希望记录的宏仅在当前工作簿中可用,请选择此工作簿。如果要将其保存到全新的工作簿,请选择新工作簿。如果你希望宏可用于你打开的任何工作簿,请选择个人宏工作簿

填写完这个弹出窗口后点击确定

然后执行你想要用宏重复的任何操作。完成后单击相同按钮停止录制。它现在看起来像这样:

https://i.stack.imgur.com/FEoFa.jpg

现在,你可以转到开发人员选项卡并打开 Visual Basic。 (或使用 Alt + F11)

你现在将在 Modules 文件夹下有一个新模块。 https://i.stack.imgur.com/ajzah.jpg

最新的模块将包含你刚刚录制的宏。双击它以启动它。

我做了一个简单的复制和粘贴:

Sub Macro1()
'
' Macro1 Macro
'

'
    Selection.Copy
    Range("A12").Select
    ActiveSheet.Paste
End Sub

如果你不希望它始终粘贴到 A12,你可以通过选中开发人员选项卡上的使用相对引用框来使用相对引用: https://i.stack.imgur.com/4SqYN.jpg

按照与之前相同的步骤,现在将宏转换为:

Sub Macro2()
'
' Macro2 Macro
'

'
    Selection.Copy
    ActiveCell.Offset(11, 0).Range("A1").Select
    ActiveSheet.Paste
End Sub

仍然将值从 A1 复制到单元格 11 行,但现在你可以使用任何起始单元格执行相同的宏,并且该单元格中的值将被复制到单元格 11 行。