
エクセルのマクロで教えてください。20個のグラフを一つのシートに作成しますが、この20個の散布図グラフの中から、クリックして選択したグラフだけ、y軸の目盛を自動スケールで最大値、最少値、目盛間隔の分割数は5個に自動にできないでしょうか?
いくつか質問サイトを調べて、以下でアクティブシートのすべてのグラフ(20個)をセルに入力された値に一括で変更することはできるのですが、クリックして選択したグラフだけ、上記のようにできません。よろしくお願いします。
Sub 全部()
Dim co As ChartObject
For Each co In ActiveSheet.ChartObjects
With co.Chart
With .Axes(xlValue)
.MinimumScale = Range("A1").Value '最小値
.MaximumScale = Range("A2").Value '最大値
.MajorUnit = Sheets("Sheet1").Range("A3") '目盛間隔
End With
End With
Next
End Sub
A 回答 (2件)
- 最新から表示
- 回答順に表示
No.2
- 回答日時:
『アクティブシート内の選択した複数のグラフ...』という事なので
蛇足レスではありますが、もし単独選択の場合と兼用したいなら以下のような感じになるかと。
Sub test()
Const mu As Double = 5
Dim x As Object
Dim xi As Object
Set x = Selection
If TypeName(x) <> "DrawingObjects" Then
If Not ActiveChart Is Nothing Then
With ActiveChart.Axes(xlValue)
.MinimumScaleIsAuto = True
.MaximumScaleIsAuto = True
.MajorUnit = mu
End With
End If
Else
For Each xi In x
If TypeName(xi) = "ChartObject" Then
With xi.Chart.Axes(xlValue)
.MinimumScaleIsAuto = True
.MaximumScaleIsAuto = True
.MajorUnit = mu
End With
End If
Next
End If
Set x = Nothing
End Sub
No.1
- 回答日時:
まとめて選択している時は
グラフとしてではなく、
図としてしか扱えないみたいです。
そこで、選択されているものの名前を取得して
グラフを操作してみました。
Dim cht As Object
Dim chtName(20) As String
Dim i As Long
For Each cht In Selection
i = i + 1
chtName(i) = cht.Name
With ActiveSheet.ChartObjects(chtName(i)).Chart.Axes(xlValue)
.MinimumScale =Range("A1").Value '最小値
.MaximumScale =Range("A2").Value '最大値
.MajorUnit = Range("A3") '目盛間隔
End With
Next
Rangeの前にはこのように
Sheets("Sheet1").Range("A3") '目盛間隔
sheetを指定しておいてください。
動作確認してここに貼り付け、一部修正しましたが
ご希望どおりになるはずなので
エラーが出たらご自分で修正を。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Visual Basic(VBA) まとめシートから集計シートへA列のコードが一致したら1行コピーするマクロをネット上で見つけました。こ 1 2022/08/30 14:11
- Visual Basic(VBA) 複数csvを横に追加していくマクロについて 2 2023/04/25 09:19
- Excel(エクセル) エクセルのイベントVBAを複数のシートで動かしたい 1 2022/12/07 16:55
- Visual Basic(VBA) VBAコードを張り付け後のエクセルの進め方 2 2023/02/07 18:24
- Excel(エクセル) EXCELのグラフを画像(JPG形式)で保存、通常実行がうまく行かない。ステップインはうまく行く 3 2022/08/30 12:06
- Excel(エクセル) エクセル VBAでシートのコピーを作りたい 1 2023/05/18 07:42
- Visual Basic(VBA) 3つのプロシージャをまとめたら実行時エラー発生で対応不能 6 2022/05/17 01:47
- Excel(エクセル) エクセルの大きなシートでグラフを見つける 4 2022/07/28 10:07
- Visual Basic(VBA) エクセルのマクロについて教えてください。 2 2023/06/04 09:39
- Excel(エクセル) vba シート名の一覧を2列に分けるには 5 2023/04/24 08:56
このQ&Aを見た人はこんなQ&Aも見ています
-
ExcelVBA:複数の特定のグラフを選択する方法
Visual Basic(VBA)
-
たくさん作った同じ設定のグラフを一括して変更したい
Excel(エクセル)
-
ExcelのVBAでのグラフ操作について
Visual Basic(VBA)
-
-
4
エクセルグラフの一括設定。
Excel(エクセル)
-
5
エクセルのラベルの値(文字列)を垂直方向で中央揃えにするには?
Excel(エクセル)
-
6
VBA 配列に格納した値の平均のやり方についてお教え願います
Visual Basic(VBA)
-
7
エクセル2010 グラフの軸の最大値最小値をセル参照する
Excel(エクセル)
-
8
Excelマクロでグラフの縦軸目盛りを変更する方法について
Visual Basic(VBA)
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
エクセルにおける、グラフの指...
-
エクセルでグラフタイトルが折...
-
たくさん作った同じ設定のグラ...
-
エクセルグラフの一括設定。
-
エクセルのグラフの一部拡大
-
イラレのグラフがグループ解除...
-
パワーポイントに貼り付けたエ...
-
エクセル(Excel)の目盛りの一...
-
Excel:とびとびの日付のデータ...
-
エクセルの大きなシートでグラ...
-
エクセルで散布図をつくったとき
-
エクセル2000で教えて下さい。
-
エクセル:ぴったり重なった後...
-
イスラーム王朝について質問で...
-
EXCEL・複数ある円グラフの円の...
-
excel 波形
-
エクセルのグラフデータのリン...
-
エクセルのグラフタイトルを中...
-
EXCELで海の潮見表(タイドグラ...
-
【Excel2007】グラフ線太さのデ...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
エクセルでグラフタイトルが折...
-
エクセルにおける、グラフの指...
-
たくさん作った同じ設定のグラ...
-
イラレのグラフがグループ解除...
-
パワーポイントに貼り付けたエ...
-
~エクセル~円グラフのみを抽...
-
エクセルグラフの一括設定。
-
エクセル(Excel)の目盛りの一...
-
エクセルで作業ごとの時間をグ...
-
EXCEL・複数ある円グラフの円の...
-
エクセルのグラフの一部拡大
-
excel2010 グラフエリアの外の...
-
エクセルグラフの数値軸(Y)の...
-
イスラーム王朝について質問で...
-
EXCELでの棒グラフの太さについて
-
EXCELで海の潮見表(タイドグラ...
-
エクセル:ぴったり重なった後...
-
エクセルでこんなグラフを作り...
-
Wordでレポートを作っています...
-
Excel:とびとびの日付のデータ...
おすすめ情報