我正在创建一个模板工作表作为
.xltm
文件(“TemplateT
”)。
目标是用它来对从其他文件复制过来的内容做一系列的格式化。例如,用户应手动复制Sheet1
中
WorkbookA
的整个B列,粘贴到
TemplateT
中的D列,子程序应自动将范围设置为粗体(复制的单元格为
Sheet1!WorkbookA
中不粗体)。
我先尝试了一个非常基本的例子:
Option Explicit
Private Sub Workbook_Open()
Range("D1:D20").Font.Bold = True
End Sub
尽管使用
Workbook_Open()
这不起作用。我必须手动运行代码。优选地,代码应在 TemplateT
打开后立即运行,或者当 VBA 检测到单元格中的新内容时(即当其他工作簿的内容被复制时)。
我做错了什么?这与宏安全和微软对恶意代码的保护有什么关系吗?或者我只是在我的代码中遗漏了一些东西?