Excel 运行时错误1004将索引公式放入单元格
我在excel模板中有一个动态验证列表,默认情况下显示运行excel文件的“用户”(使用公式Excel 运行时错误1004将索引公式放入单元格,excel,vba,Excel,Vba,我在excel模板中有一个动态验证列表,默认情况下显示运行excel文件的“用户”(使用公式=INDEX(user;1),用户是一个名称范围,首先显示当前“用户” 模板填写完毕后,工作表将复制到新文件中,并通过电子邮件发送新文件 因为新文件打开时“用户”会发生变化,所以我需要在复制工作表之前将验证中的值粘贴到模板中 我的想法是,模板可以被清除,以便重新使用,以便宏将公式重新输入到单元格中。我曾尝试使用工作表(“模板”).Range(“D3”).Formula=“=INDEX(user;1)”,但
=INDEX(user;1)
,用户是一个名称范围
,首先显示当前“用户”
模板填写完毕后,工作表将复制到新文件中,并通过电子邮件发送新文件
因为新文件打开时“用户”会发生变化,所以我需要在复制工作表之前将验证中的值粘贴到模板中
我的想法是,模板可以被清除,以便重新使用,以便宏将公式重新输入到单元格中。我曾尝试使用工作表(“模板”).Range(“D3”).Formula=“=INDEX(user;1)”
,但我得到了运行时错误1004应用程序定义的错误或对象定义的错误
请提供建议。我提出了更广泛的想法,以便为我试图实现的目标提供替代解决方案。我建议使用适当的文件格式值将您的“excel模板”工作簿保存为真正的excel模板(xlOpenXMLTemplateMacroEnabled
如果模板有宏,或者xlOpenXMLTemplate
如果模板没有宏)
如果使用过程保存模板,可以使用以下行:
ActiveWorkbook.SaveAs _
Filename:="Workbook FullName.xltm", _
FileFormat:=xlOpenXMLTemplateMacroEnabled, _
Password:="If Required", WriteResPassword:="If Required", _
ReadOnlyRecommended:=False, CreateBackup:=False
Rem Replace these lines if template has no macros
'Filename:="Workbook FullName.xltx", _
'FileFormat:=xlOpenXMLTemplate, _
当用户双击工作簿模板时,将打开原始模板工作簿的副本,保留原始模板不变,因此无需重置公式以重复使用
如果模板是通过过程打开的,而不是用户的双击,则使用此行:
Workbooks.Open Filename:="Workbook_FullName.xltm", Editable:=True
请参见,将;
更改为,
。VBa非常以美国英语为中心。当VBa将公式放入工作表中时,excel将更改您的本地设置。