当用户在英文版Excel中的工作表中手动输入公式并将此文档发送给另一个版本中具有Excel的用户时,该公式将自动转换为打开文档的语言.
'Formula entered in Sheet1!B1 in the English Excel version
=VLOOKUP(A1,Sheet2!$A$1:$C$150,3,FALSE)
'Formula as shown in a Dutch Excel version
=VERT.ZOEKEN(A1;Sheet2!$A$1:$C$150;3;ONWAAR)
Run Code Online (Sandbox Code Playgroud)
当我以编程方式添加公式时,在我的英文版本中,它看起来像这样:
Sub AddFormula()
ThisWorkbook.Worksheets("Sheet1").Cells(1, 2).Formula = "=VLOOKUP(A1,Sheet2!$A$1:$C$150,3,FALSE)"
End Sub
Run Code Online (Sandbox Code Playgroud)
如果我在我的英文版本上运行此程序,然后保存文档并将其发送给使用其他语言的用户,这将是正常的,因为公式在单元格中,因此转换为第二个用户使用的任何语言和区域设置.
我的问题是当第二个用户使用EN-US格式编写的代码中的公式以荷兰语(或其他语言)Excel运行程序时会发生什么.它会被翻译还是会引发错误?如果是后者,我将如何解决这个问题并使公式插入语言证明?
当我尝试将其插入时,会不断出现“无法插入对象”错误。这似乎是以前的Excel版本的一个已知问题,但我找不到对2016年的任何支持。
有人能做这项工作吗?
这是屏幕截图:

我有一个用户窗体,它根据工作表上的选择显示附加信息。
调用用户窗体的过程位于工作表模块中,触发器是Worksheet_SelectionChange. 该表单是无模式的,因此用户可以选择工作表上的不同单元格。显示带有数据的表格。
问题是用户窗体将焦点从 Excel 应用程序上移开,因此箭头键不起作用。由于触发器是一个Worksheet_SelectionChange事件,因此它总是在选择更改后获得焦点。
如何从用户窗体中重新设置焦点或阻止用户窗体首先获得焦点?
我查看了应用程序属性以重新获得焦点,并查看了用户窗体属性以从用户窗体中删除焦点,但无法弄清楚。
我有一个UserForm,它在一个条件存在的情况下在循环中打开和关闭.用户可以单击执行操作的多个按钮.问题是用户的不可预测性.其中一个问题是,用户不是单击其中一个按钮,而是单击UserForm顶部的关闭窗口按钮,该按钮进行循环而不执行操作.
---编辑---
是否有一个带有该按钮的事件,我可以用它来执行代码,这样我就可以让它执行与表单本身上的取消按钮相同的操作.我本身不需要隐藏或禁用它.