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

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

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

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

Q&A

解決済

2回答

2599閲覧

VBAでグラフを作るとExcelが落ちる

izuki_y

総合スコア65

VBA

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

0グッド

0クリップ

投稿2020/06/26 06:12

お世話になっております。
表題の件で質問がございます。

環境:
Windows 10 Pro x64
Excel 2016

他のサイトを参考に下記の表からグラフを作成するマクロを組んでみました

イメージ説明

vba

1Sub AddGraph() 2 3 'グラフの対象データ範囲を定義 4 Dim trgtSh As Worksheet 5 Set trgtSh = ThisWorkbook.Worksheets("Sheet1") 6 Dim dataRng As Range 7 Set dataRang = trgtSh.Range("A1:B16") 8 9 'グラフを貼り付けたいセルを定義 10 Dim pasteRng As Range 11 Set pasteRng = trgtSh.Range("D2") 12 13 'グラフ編集 14 With trgtSh.Shapes.AddChart2.Chart 15 'グラフの種類を指定(ここでは「集合縦棒」) 16 .ChartType = xlColumnClustered 17 'グラフの対象データ範囲を指定 18 .SetSourceData dataRng 19 20 'グラフの位置を指定 21 .Parent.Top = pasteRng.Top 22 .Parent.Left = pasteRng.Left 23 End With 24 25End Sub

上記マクロを動作させるとエクセルが落ちます。
trgtSh.Shapes.AddChart2.Chartで起こってそうなのですが、
パラメータを調べても変な箇所は無く、理由が全く分からないので困っております。
解決方法をご教授いただけませんでしょうか。

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

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

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

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

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

guest

回答2

0

Option Explicitを付けてコンパイルする習慣をつける。

投稿2020/06/26 06:43

sazi

総合スコア25173

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

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

izuki_y

2020/06/26 07:16

ご回答ありがとうございます。 おまじないで使っていたOption Explicitにこんな意味があった事を初めて知りました。 すぐにオプション設定で「変数の宣言を強制する」にチェックを入れました 参考 http://officetanaka.net/excel/vba/beginner/11.htm
guest

0

ベストアンサー

Dim dataRng As Range

Set dataRang = trgtSh.Range("A1:B16")

dataRng
dataRang
誤記でしょうか?

投稿2020/06/26 06:34

mkk

総合スコア378

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

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

izuki_y

2020/06/26 07:07

ご回答ありがとうございます。 おっしゃる通りです。 そこの箇所を修正したらExcelが落ちることなくグラフを作る事を確認できました。 素人ミスをしてしまいお恥ずかしい限りです。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問