質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
VBA

VBAはオブジェクト指向プログラミング言語のひとつで、マクロを作成によりExcelなどのOffice業務を自動化することができます。

Q&A

解決済

1回答

2032閲覧

エクセル VBAでグラフ作成

cd987456

総合スコア33

VBA

VBAはオブジェクト指向プログラミング言語のひとつで、マクロを作成によりExcelなどのOffice業務を自動化することができます。

0グッド

0クリップ

投稿2017/08/05 06:57

エクセル2007を使用しています。
以下の表をグラフ化しようとしています。
表とグラフはエクセルの”テストグラフ”というシートに記載しています。
イメージ説明
グラフは以下の通りです。
イメージ説明

表は3行目に納品月 4行目に各納品月にそれぞれ販売金額、付加価値、台数と表示しています。縦軸は商品名です。

グラフは各納品月の販売金額と付加価値を商品名毎に表しています。

★教えてほしいこと
表が固定であれば問題ないのですが、表は常に可変します。
商品名が増える、納品月が増える などです。
●可変した時のセットデータの設定部分のコードを教えてほしいです。

表が固定されている場合、以下のコードで処理できました。
前後のコードは省略しています。

Set ws1 = Sheets("テストグラフ") Charts.Add ActiveChart.ClearToMatchStyle ActiveChart.ChartType = xlColumnStacked ActiveChart.SetSourceData Source:=Range("'テストグラフ'!$A$3:$A$20,'テストグラフ'!$B$3:$C$20,'テストグラフ'!$E$3:$F$20,'テストグラフ'!$H$3:$I$20") ActiveChart.Location Where:=xlLocationAsObject, Name:="テストグラフ" ActiveChart.PlotBy = xlRows ActiveChart.ChartArea.Select ActiveChart.Parent.Name = "graf1" ws1.Shapes("graf1").ScaleWidth 2.2, msoFalse, msoScaleFromTopLeft ws1.Shapes("graf1").ScaleHeight 2.2, msoFalse, msoScaleFromTopLeft With ws1.ChartObjects("graf1") .Top = Range("C23").Top .Left = Range("C23").Left End With

ActiveChart.SetSourceData Source:=Range("'テストグラフ'!$A$3:$A$20,'テストグラフ'!$B$3:$C$20,'テストグラフ'!$E$3:$F$20,'テストグラフ'!$H$3:$I$20")

上記コードで各納品月の販売金額、付加価値だけ選択したい場合のコードの書き方を教えて下さい。台数は選択しないです。
台数の列を消せば、問題ないのですが、残したいです。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

自己解決

セルの値が販売金額か付加価値だった場合、変数Targetに対して範囲を追加していくと解決しました。

投稿2017/08/07 00:42

cd987456

総合スコア33

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問