重要なお知らせ

「教えて! goo」は2025年9月17日(水)をもちまして、サービスを終了いたします。詳細はこちら>

電子書籍の厳選無料作品が豊富!

VBA初心者です。

VBAでピボットテーブルを作成しようとしているのですが、下記構文で実効値エラー1004が発生します。(Rangeメソッドの失敗)

下記は問題無く動作します。(エラーは発生しません)
Set PCache = ActiveWorkbook.PivotCaches.Create( _
SourceType:=xlDatabase, _
SourceData:=DataS.Range("A2:S1173"))

上記Range("A2:S1173")のところを変数で表すとエラーになります。
(変数lastRow1には1173、 lastCol1には19が格納されているのは確認出来ています)
Set PCache = ActiveWorkbook.PivotCaches.Create( _
SourceType:=xlDatabase, _
SourceData:=DataS.Range("A2", Cells(lastRow1, lastCol1)))

変数でデータ位置を指示したいのですが、どの様にすればエラーを回避出来るかご教授お願い致します。

A 回答 (1件)

「DataS」って、Worksheetオブジェクトが格納されている変数ですよね?


そのSheetの「Range("A2", Cells(lastRow1, lastCol1))」を参照したいのであれば、次にように記述する必要があるはずです。「DataS.」を省略してはいけません。
確認はしていないので、間違っていたらゴメンナサイ。

DataS.Range("A2", DataS.Cells(lastRow1, lastCol1)))
    • good
    • 0
この回答へのお礼

ありがとうございました。
ご指摘の通りでエラーを回避出来ました。
お手数おかけしました。

お礼日時:2019/03/04 11:25

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!