我想在VBA中控制切片器,并想使用以下命令检查是否选择了空值:

If slicerCache.SlicerItems.Item("(blank)").selected = True


空值会自动获得标签(blank)。一切正常,直到在非英语计算机上打开工作簿。例如。荷兰语的标签为(leeg),法文的标签为(vide)

如何获得此标签的本地化版本?

this link中,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

关于excel - “(空白)”的本地化,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/33871635/

10-13 05:00