A 回答 (2件)
- 最新から表示
- 回答順に表示
No.1
- 回答日時:
オブジェクトが別だから、結局誰かが個別に設定する
必要があります。それを一つの関数としてまとめる
事になりますから、結局、やっていることに利点は
ほとんどありません。線の数だけ設定するようなコード
を書いたところで5~6行ですから労力の削減にも
つながりません。
現実に結び付けてメリットが少なくリスクが多いので
用意されていないと思います。
No.2
- 回答日時:
>Chart.Shapes.Lines.ForeColor.SchemeColor = 10を見ると相当VBAを勉強しているのかも知れない
ーー
しかし質問の>グラフオブジェクト内の線、とは何ですか。
オブジェクトの直線を引く(追加)人も居るかもしれない。
見た目で線に見えるのは、折線グラフの線、棒ラフの「枠線」や軸も線と言えないことも無い。
目盛線、補助目盛り線なども線でしょう。プロットエリアの輪郭線なども線の扱いだろう。
質問にはグラフの種類さえも書いてない。それ(種類)を超えた識別があるかもしれないと思っているのかな。
それをまず明確にしてください。
ーー
質問のようなことを言うなら、グラフの場合はややこしいと思うが、オブジェクトの階層関係で考えないといけないでしょう。
その中でコレクションになっていて、(共通)プロパティに色(カラー)が設けられているようなもののことかなと思う。
そういうのは私のレベルでは1つ1つ調べて試行するほか無い。開発者用のヘルプなどを使いこなせる人はそういうのを利用して手数を省くかもしれない。
ーー
Sub Macro4()
ActiveChart.SeriesCollection(3).Select
With Selection.Border
.ColorIndex = 3
.Weight = xlThick
.LineStyle = xlDot
End With
End Sub
のように系列の場合はドレも同じ色にするニーズそのものが使い道が無い。
Sub Macro5()
For i = 1 To 3
ActiveChart.SeriesCollection(i).Select
With Selection.Border
.ColorIndex = 3
.Weight = xlThick
.LineStyle = xlDot
End With
Next i
End Sub
のように繰り回しをしないと出来ないので、新味(コード行省略)は無い。
ーーー
質問の例も、少し変えて
3つの異種の図形をシートに貼り付けて、線の色を同じ色に変えたい場合、
Sub Macro1()
For i = 1 To 3
ActiveSheet.Shapes(i).Select
Selection.ShapeRange.Line.ForeColor.SchemeColor = 10
Next i
End Sub
のようにしないと、うまくいかなかったが、これより良い方法はありますか。
ーー
Sub Macro2()
ActiveSheet.DrawingObjects.ShapeRange.Line.ForeColor.SchemeColor = 10
End Sub
というオブジェクトを使うと、1行で3つの図形の線が赤色になった。
こういうオブジェクトを探すことになるが、DrawingObjectsも古く、グラフの場合は良いものが無いのでは。
グラフに対しDrawingObjectsは不可のようです。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Excel(エクセル) シートが違う2枚のエクセルシートにある数値を別シートにコピーしたい(VBA?) 8 2022/03/31 12:24
- Excel(エクセル) エクセルのグラフに上下限値の横棒を表示させたい 5 2022/12/12 11:09
- その他(プログラミング・Web制作) このプログラミングをどう組みますか? Googlecolabでやってるんですが、出来る方お願いします 1 2022/07/13 10:52
- Visual Basic(VBA) エクセルのマクロについて教えてください。 1 2023/03/07 14:05
- Visual Basic(VBA) Excel VBA 書式変更で困ってます。 オートフィルターの日付フィルターを用いて データの絞り込 2 2022/07/26 22:16
- CAD・DTP Autocad Scriptファイルからの入力とコマンドラインからの入力が違う 1 2023/08/01 09:13
- Access(アクセス) アクセス 有効なフィールド名、または式として認識できませんのエラー 3 2022/08/19 11:53
- Excel(エクセル) Excel2010 グラフ 横軸目盛線の間隔変更 1 2023/05/09 11:47
- Visual Basic(VBA) エクセルのマクロについて教えてください。 2 2023/03/08 09:08
- Visual Basic(VBA) 【VBA】Excelの特定範囲のセルを画像で保存したい 2 2023/01/25 13:06
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
worksheetFunctionクラスのVloo...
-
VBAで既に開いている別アプリケ...
-
実行時エラー 3265「要求された...
-
Excelでフィルタをかけると警告...
-
エクセルのVBAの標準モジュール...
-
「Columns("A:C")」の列文字を...
-
VBScriptでExcelのグラフを貼り...
-
ACCESSのFieldの追加方法
-
横軸ラベルの追加に関するエラ...
-
エクセルVBAでFor each文
-
Accessフォームから指定のExcel...
-
InternetExplorer.Application...
-
PowerPointVBAでスライドマスタ...
-
VBAの修正箇所を教えて頂きたい...
-
EXCELVBAグラフ凡例表示部分の...
-
VBで引数にDictionaryオブジェ...
-
CreateObjectとGetObjectの違い
-
エクセルVBA 他ブックのシート...
-
ドロップダウンリストの行を増...
-
オブジェクトが見つかりません
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
worksheetFunctionクラスのVloo...
-
「Columns("A:C")」の列文字を...
-
実行時エラー 3265「要求された...
-
エクセルのVBAの標準モジュール...
-
VBAで既に開いている別アプリケ...
-
VBAで Set wb = Sheets(1).Cop...
-
テキストボックス中の文字列の...
-
PowerPointVBAでスライドマスタ...
-
エクセルマクロエラー「'Cells'...
-
VBAからPDFファイルにパスワー...
-
Excelでフィルタをかけると警告...
-
オブジェクトが見つかりません
-
ある文字列が全て数字であるか...
-
EXCEL VBA オートシェイプナン...
-
[VBA]CDOメッセージ送信エラー
-
VBAで作成するメール(開封確認...
-
VBAについてです。 初心者です...
-
VBA:オートシェイプの線の長...
-
VBで引数にDictionaryオブジェ...
-
AccessVBAで「dim dbs as datab...
おすすめ情報