我希望在VBA中控制一个切片器,并检查是否选择了空值,使用以下代码:
If slicerCache.SlicerItems.Item("(blank)").selected = True
空值自动标记为 (blank)
。这一切都很好,直到在非英语计算机上打开工作簿。例如,在荷兰语中,标签是(leeg)
,而在法语中标签是(vide)
。
如何获取此标签的本地化版本?
在此链接中,2009年提出了完全相同的问题,但没有得到答案。
我希望在VBA中控制一个切片器,并检查是否选择了空值,使用以下代码:
If slicerCache.SlicerItems.Item("(blank)").selected = True
空值自动标记为 (blank)
。这一切都很好,直到在非英语计算机上打开工作簿。例如,在荷兰语中,标签是(leeg)
,而在法语中标签是(vide)
。
如何获取此标签的本地化版本?
在此链接中,2009年提出了完全相同的问题,但没有得到答案。
这是一种有点取巧的方法,可能存在更好的方法,但它是实用的,并且适用于所有语言,只要“空白”始终由起始开括号和结束闭括号表示,并且切片器列表中没有其他值包含起始开括号和结束闭括号。
For Each si In SlicerCache.SlicerItems
'EDIT: I originally wrote this, but the one below is more precise
'If InStr(si.Name, "(") And InStr(si.Name, ")") Then
If Left(si.Name,1) = "(" And Right(si.Name,1) = ")" Then
If si.Selected = True Then MsgBox si.Name & " is set to True"
End If
Next