- 締切済み
既存ワークシートにピボットテーブルを作成するマクロ
既存のワークシートにピボットテーブルを作成するマクロを登録したいのですが、どうもマクロ実行時には指定した既存シートを参照してくれません。 記録時には既存ワークシートのA1を指定しましたが、VBAで確認すると、TableDestination:=Range("A1")となっています。 恥ずかしながら、VBAは詳しくありません。 TableDestination:=Range("A1")が作成先の指定なのでしょうか? ワークシートに作成するにはどのように指定すればいいのでしょうか?
- みんなの回答 (2)
- 専門家の回答
みんなの回答
- 2002pon
- ベストアンサー率48% (42/87)
こんにちは。 すいません。あまり、質問者の名前をみないもので・・・ >先日の「時間単価の計算方法」 ここで、この質問に関して答えると、 管理者から何か言われるかも?!です(^^; シリアル値といっても、それは数値にほかなりません。 1.0なら、1990年1月1日0:00、 2.0なら、1990年1月2日0:00、 1.5なら、1990年1月1日12:00・・・ なんて具合です。 0:00から24:00を0.0から1.0であらわしているのです。 ですので、日付の足し引きをすると、シリアル値の足し引きをしているのですから、1.5-1.0の場合は、0.5日になります。 時間単価を出す、ということは、何時間だったかが問題ですから、 シリアル値の足し引きの演算結果に24をかけると、 (0.5×24=12のように) 時間数になりますね。
- 2002pon
- ベストアンサー率48% (42/87)
こんにちは。ピボットテーブルそのものは詳しくありませんが・・ >TableDestination:=Range("A1")が作成先の指定なのでしょうか? そのようです。 例えば、既存ワークシートをSheet3とした場合、 TableDestination:=Sheets("Sheet3").Range("A1") で、とりあえずうまくはいくようです。
お礼
2002ponさん、先日に引き続きありがとうございます。 TableDestination:=("Sheet3!A1")まではやってみたのですが・・・あとちょっとが足りないようです。情けない・・・。やってみます! それと、先日の「時間単価の計算方法」のお礼で”シリアル値で1=24時間、ってことは1440をかけると分になるって事は理解できるんですが、どうしてシリアル値に24をかけるとできるんでしょう???”と投げかけておきながら、まちがって締め切ってしまいました。すいません。
お礼
お礼が遅くなり申し訳ありませんでした。 参考URLを見て勉強します。ありがとうございました。