从PowerPivot PivotItem解析值的好方法?

时间:2015-11-27 14:27:42

标签: excel vba excel-vba powerpivot

我有一个包含以下.name.value属性的PivotItem:

[dimCalendar].[MonthName].&[April 2013]

我只对April 2013所说的部分感兴趣。

从PivotItem解析或以其他方式获取此值的好方法是什么?

2 个答案:

答案 0 :(得分:2)

解决方案一:拆分并替换

使用Split作为分隔符时,

[最佳。获取Split数组的上限,并将]替换为""

解决方案二:正则表达式

添加Microsoft VBregularexpression 5.5作为参考。

Private Function Method(str As String) As String
Dim regexp As New regexp
regexp.Pattern = "\[.*\]\[.*\]\[(.*)\]"
Method = regexp.Replace(str, "$1")
End Function

答案 1 :(得分:1)

如果你只需要最后一个,这将很好地工作:

Sub test_user1283776()
MsgBox get_PivotItem_From_PowerPivot("[dimCalendar].[MonthName].&[April 2013]")
End Sub

Function get_PivotItem_From_PowerPivot(PowerString As String) As String
    Dim A() As String
    A = Split(PowerString, ".&[")
    get_PivotItem_From_PowerPivot = Trim(Replace(A(UBound(A)), "]", ""))
End Function