Excel VBA質問箱 IV

当質問箱は、有志のボランティア精神のおかげで成り立っています。
問題が解決したら、必ずお礼をしましょうね。
本サイトの基本方針をまとめました。こちら をご一読ください。

投稿種別の選択が必要です。ご注意ください。
迷惑投稿防止のため、URLの入力を制限しています。ご了承ください。


45618 / 76735 ←次へ | 前へ→

【36107】Re:複数シートの範囲を元にピボットテー...
発言  Ned  - 06/3/20(月) 23:55 -

引用なし
パスワード
   こんにちは。
複数範囲からのピボットテーブルってあまり使わないのでハズしてるかもしれませんが、
まず、複数範囲だと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
参考になりますかどうか。

0 hits

【36076】複数シートの範囲を元にピボットテーブルを作成 みゆき 06/3/20(月) 15:03 質問
【36107】Re:複数シートの範囲を元にピボットテー... Ned 06/3/20(月) 23:55 発言

45618 / 76735 ←次へ | 前へ→
ページ:  ┃  記事番号:
2610219
(SS)C-BOARD v3.8 is Free