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

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

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

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

Q&A

解決済

1回答

3188閲覧

VBA 別シートデータ出力

tamura0425

総合スコア37

VBA

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

0グッド

0クリップ

投稿2021/06/18 06:46

編集2021/06/20 02:46

VBAでシートから値を読み取り、読み取ったデータを別のシートでグラフとして表示したいのですが、グラフは作成できたのですが、値が入っていないグラフが作成されてしまいました。

不勉強で申し訳ないのですが、コードの修正をお願いできますでしょうか。
申し訳ございませんが宜しくお願い致します。

Sub

1 2'ループカウンター用 3 Dim i As Long 4 'グラフ作成用 5 Dim r1 As Range 6 'グラフ作成用 7 Dim r As Range 8 9 'ワークシート用変数 10 Dim ws As Worksheet 11 12 13'最終行 14Dim EndRow As Long 15'最終列 16 Dim EndCol As Long 17 18'グラフシートが既にあれば、削除する 19For Each ws In Worksheets 20 If ws.Name = "graph" Then 21 Application.DisplayAlerts = False 22 ws.Delete 23 Application.DisplayAlerts = True 24 Exit For 25 End If 26Next ws 27 28 29'グラフシート作成 30Worksheets.Add 31ActiveSheet.Name = "graph" 32 33Sheets("data").Activate 34 35'最終列取得 36EndCol = Cells(2, Columns.Count).End(xlToLeft).Column 37 38'グフラ作成 39For i = 2 To EndCol 40 Sheets("graph").Activate 41 With ActiveSheet.Shapes.AddChart.Chart 42 .ChartType = xlLine 43 .SetSourceData Source:=Union(Range(Range("A2"), Cells(Rows.Count, 1).End(xlUp)), _ 44 Range((Cells(2, i)), Cells(Rows.Count, i).End(xlUp))) 45     46 'グラフ位置 47 .Parent.Top = Range("B" & ((i - 2) * 15 + 1)).Top 48 .Parent.Left = Range("B" & ((i - 2) * 100 + 1)).Lef 49 50 'データラベル追加 51 If Sheets("linegraph_create").CheckBox1.Value = True Then 52 .SetElement (msoElementDataLabelTop) 53 End If 54 '凡例追加 55 If Sheets("linegraph_create").CheckBox2.Value = True Then 56 .HasLegend = True 57 End If 58 End With 59Next i 60 61 62 63MsgBox "完了しました" 64 65End Sub 66 67 68 69 70 71コード

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

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

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

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

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

guest

回答1

0

ベストアンサー

とりあえず元データがあるシートを

VBA

1 Dim dataSheet As Worksheet 2 Set dataSheet = Sheets("linegraph_create") 3

とでもしておいて、以降に出てくるRangeCells をひたすら
dataSheet.RangedataSheet.Cells に変えてみるといいかもしれません。

投稿2021/06/20 05:05

jinoji

総合スコア4592

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

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

tamura0425

2021/06/20 06:21

ご指導ありがとうございました。
tamura0425

2021/06/20 14:09

ご助力ありがとうございました。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.37%

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

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

質問する

関連した質問