[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]
『VBで既存のワークシートにピボット作成』(未知の世界)
VBはというより、エクセルも初心者でいろいろ苦戦しています
毎月、あるブックから、必要な列をコピペして持ってきます。
持ってくる列は決まっていますが、行は、数千行ほど変動します。
列はA〜F列におさまります。
そのコピペして持ってきたブック(仮に引用ブックとします)を
使用します。
A B C D E F
1 部 課 値a 単価 別 別名
引用ブックの あるシートのA〜F列を元にピボットを作りたいと思ってます。
☆ピボットを作る場所は、既存のワークシート(○○表)のO1です。
☆レポートフィルタに「部・課・別・値a」
☆行ラベルに「単価」
☆値に「値aを合計に変更・単価はデータの個数」
という感じです。
その作ったピボットを参照元に、横にある表に式を入れているので、値の位置とかずれてしまうと
正しい結果が表示されないのでVBで作りたいと思ってます。
毎月ピボットを作ればいいのですが、いろんな方も使うので、ボタン1つでできたら
したいです。
毎月、変動するので、表を選択してピボットを作成するようにVBでコードを
書いていきたいと思っていますが、そんなことはできますでしょうか?
実は、表を選択するだけのVBならできたのですが、そこから先は分からず…。
なので、いろいろ調べて見よう見まねで下記のコードを真似して、
(意味の分からないこと多々ありますが、とりあえずしてみました)
自分のファイル用に作ってみたのですが、☆のようにうまいことピボットが作れません。
Sub test()
Dim ws As Worksheet
Dim pvc As PivotCache Dim pvt As PivotTable Set ws = Sheets.Add Set pvc = ActiveWorkbook.PivotCaches.Add(SourceType:=xlDatabase, _ SourceData:="○○表!R1C1:R2842C6") Set pvt = pvc.CreatePivotTable(TableDestination:=ws.Name & "!R3C1", _ TableName:="ピボットテーブル1", _ DefaultVersion:=xlPivotTableVersion10) With pvt With .PivotFields("部") .Orientation = xlPageField .Position = 1 End With With .PivotFields("課") .Orientation = xlPageField .Position = 1 End With With .PivotFields("単価") .Orientation = xlPageField .Position = 1 End With With .PivotFields("値a") .Orientation = xlPageField .Position = 1 End With
With .PivotFields("単価") .Orientation = xlRowField .Position = 1 End With
.AddDataField .PivotFields("値a"), "合計 / 値a", xlSum .AddDataField .PivotFields("単価"), "データの個数 / 単価", xlCount
End With
End Sub
いろいろ質問したいこともございますが、文章が長くなりますので、とりあえずここまでで
よろしくお願い致します。
< 使用 Excel:Excel2007、使用 OS:Windows7 >
アプローチを変えて、 既存のピボットが参照しているデータを上書きすれば、 数式の変更も必要ないのではないでしょうか?
それから、 >毎月、あるブックから、必要な列をコピペして持ってきます。 ~~~~~~~↑~~~~~~~ ピボット使うなら、この工程不要ですよね?
(稲葉) 2015/04/21(火) 08:51
回答、ありがとうございます。
あるブックは、毎月分新しく○月分とフォルダを毎月作り、そこにあるデータソースから
とってきて(予想ですが…)格納されてます。
A〜GZ列まであり、数千行入っていて、その行の下に他の方が使用するいらないものが入っています。
なので、必要な列だけ持ってきて、いらないのを消して使用しています。
もしかしたら他に方法があったのかもしれませんが、私はこれ以外、分からなくて(>_<)
この方法で使用しています。
>アプローチを変えて、
既存のピボットが参照しているデータを上書きすれば、 数式の変更も必要ないのではないでしょうか?
それが、1番ですね。将来、私がいなくなり使う方が上司なので
私もエクセル詳しくないですが、それ以上に詳しくない方なので。
自動でいかないの?と言われて…。よくいろいろと式も壊したりするし、私も心配だったので。
それで一応挑戦をしてみました。
後は、もう少し時間はあるので少しだけがんばってみますが、
最終的にはその方法でお願いしてみます。
本当にありがとうございました。
(未知の世界) 2015/04/21(火) 09:44
[ 一覧(最新更新順) ]
YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki.
Modified by kazu.