- ベストアンサー
エクセルマクロチェックボックスでグラフ作成エラーの解決方法
- エクセルのマクロを使用して、チェックボックスの値に応じてグラフを作成するコードがあります。
- しかし、チェックボックスにチェックを入れるとエラーが発生し、解決できませんでした。
- どのように修正すればいいのか教えてください。
- みんなの回答 (1)
- 専門家の回答
質問者が選んだベストアンサー
ふむ。。chartwizardでグラフを描かせてみるなら、だいたいこんなカンジでしょうか。 private sub CommandButton1_Click() dim myGraph as chartobject dim myRange as string dim LastRow as long lastrow = worksheets("Sheet4").range("A65536").end(xlup).row set mygraph = worksheets("Sheet2").chartobjects.add(150, 27, 350, 200) if worksheets("Sheet1").checkbox1 then myrange = myrange & ",$B$1:$B$" & lastrow if worksheets("Sheet1").checkbox2 then myrange = myrange & ",$C$1:$C$" & lastrow if worksheets("Sheet1").checkbox3 then myrange = myrange & ",$D$1:$D$" & lastrow if myrange = "" then msgbox "SELECT CHECKBOX" exit sub end if myrange = "$A$1:$A$" & lastrow & myrange mygraph.chart.chartwizard source:=worksheets("Sheet4").range(myrange), _ Gallery:=xlLine, Format:=1, PlotBy:=xlColumns, _ CategoryLabels:=1, SeriesLabels:=1, HasLegend:=True end sub #補足 >どのように訂正したらいいのか教えて頂けないでしょうか。 ●間違い チェックボックスの1,2,3がチェックされていると、最後のチェックボックスの該当列「だけ」がグラフの対象になります。それではチェックボックスを使う意味がありません ●間違い あなたのgraphrangeにvalueをセットしてもダメです ●間違い chartwizardのsource引数に与える内容が間違っています ●間違い sheets("Sheet4").range(cells, cells)の書き振りはすべて間違っています 初心者さんが必ず一度は引っかかる間違いですが sheets("Sheet4").range(sheets("Sheet4").cells, sheets("Sheet4").cells) のように丁寧にシートから修飾しないと間違えます
お礼
いつもご回答ありがとうございます。 間違い箇所のご説明もあり大変勉強になります。 今後ともご指導のほどよろしくお願い致します。