| 
    
     |  | こんにちは。 複数範囲からのピボットテーブルってあまり使わないのでハズしてるかもしれませんが、
 まず、複数範囲だとSourceDataは配列になるようですね。
 Sub sample0()
 Dim v
 v = Sheets(1).PivotTables(1).SourceData
 If IsArray(v) Then
 MsgBox Join(v, vbLf)
 Else
 MsgBox v
 End If
 End Sub
 セットする時は、SourceDataをxlR1C1文字列指定してあげるとできるようですヨ^ ^
 Sub sample1()
 Dim s1 As String, s2 As String, s3 As String
 s1 = Sheets(1).Range("A1:C10").Address(1, 1, xlR1C1, external:=True)
 s2 = Sheets(2).Range("A1:C10").Address(1, 1, xlR1C1, external:=True)
 s3 = Sheets(3).Range("A1:C10").Address(1, 1, xlR1C1, external:=True)
 ThisWorkbook.PivotCaches.Add _
 (SourceType:=xlConsolidation, SourceData:=Array(s1, s2, s3)) _
 .CreatePivotTable TableDestination:=""
 End Sub
 参考になりますかどうか。
 
 |  |