我正在使用 Excel for Office 365 MSO 64 位。
我想编写一个 VBA 宏,它根据工作表的名称在工作簿中选择不同的工作表。
例如,我有两行 VBA 代码激活工作簿,然后通过工作表的名称选择工作簿中的特定工作表。
Windows("myworkbook").Activate
Sheets("mysheet").Select
但是,我必须处理一些包含图标或表情符号的工作表。例如,有一个具有以下名称的工作表:“患者”。
如果我尝试像这样将图标/表情符号粘贴到 VBA 中:Sheets(" Patient").Select
,该图标不会显示在 VBA 编辑器中。相反,我得到Sheets("????? Patient").select
.
我也尝试过使用 ChrW() 进行编码?救护车角色(见此处:https ://www.compart.com/en/unicode/U+1F691 )
当我在下面运行这个宏时),我得到一个invalid procedure call or argument
如下所述的。
Sub SelectWeirdSheet()
Windows("MYWorkbook.xlsx").Activate
x = ChrW(128657) ' get invalid procedure call or argument here
Sheets(x & " Patient").Activate
End Sub
我也试过救护车的代码......也试过ChrW(&H1F691)
,但我得到了同样的错误。
我怀疑我对 ChrW() 使用了错误的参数,但我迷路了。
编辑:所以,文档说我对 ChrW() 的论点超出了范围。这有助于解释错误,但我仍然缺少解决方法。
问题:有没有办法引用使用 VBA 来选择名称中包含图标/表情符号的工作表?
我知道您也可以像这样按索引号参考工作表Sheets(3).Select
。但是,在某些情况下,我提前不知道工作表的索引,但我会知道工作表的名称,因此我最好按名称调用工作表。
谢谢你。