エクセルのVBAについて
未読分:3件
昨日以降(0) 2日前以降(0) 3日前以降(0) 4日前以降(0) 5日前以降(0)
近田 伸矢, 植木 悠二, 上田 寛
IEのデータ収集&自動操作のプログラミング本はこの1冊だけ!IEの起動やポップアップウィンドウ、表示を制御する基本的なコードはもちろん、テキストボックスやラジオボタン、表、ハイパーリンクなどのHTML部品を制御する方法など、自動操作に欠かせないノウハウを丁寧に解説。
Message#3 2015年2月5日(木)11時37分 From: キャリア | 返事 削除 変更 |
Excelのバージョンによってマクロの記録に違いがあります、エクセル2007のマクロの記録では表題の項目は記録されますが内容(フォーマットの内容)は記録できません、Excel2003やExcel2010以降ではできます。 折れ線グラフの線の書式設定ですが書式設定をモジュールに作ると対象のグラフをアクティブにしてモジュール化したマクロを実行すれば希望通りの書式に変更設定できます。 Sub DrawChart() With ActiveChart.SeriesCollection(1) .Border.Weight = 1 'xlThin 線の太さ .Border.LineStyle = xlContinuous 線種 .Border.LineStyle = 1 .Border.ColorIndex = 1 線の色 .MarkerBackgroundColorIndex = 1 マーカーの色 .MarkerForegroundColorIndex = 1 マーカーの色 .MarkerStyle = xlDiamond マーカーの形 .Smooth = True .MarkerSize = 8 マーカーのサイズ .Shadow = False 影(True or False) End With With ActiveChart.SeriesCollection(2) End With With ActiveChart.SeriesCollection(3) End With End Sub ActiveChart.SeriesCollection(1)の番号は表示する線に順番に振られるのでその数だけ書く必要があります、不要の場合でも必ず順番を守らなくてはいけません、表示したくない線でもその番号の書式をinVisibleかFalseにするか番号を飛ばしても線と番号が一致する必要があります、上記以外にも設定項目はあります。 ネットで調べれば詳しく出ていますが実際にコードを書いて自分で確認することを薦めます,記録では色をRGBで(例 255,0,0)表示しますが色番号 黒(1)白(2) 赤(3)....もできるの色番号のほうが簡単と思います。 参考になれば幸いです |
Message#2 2015年2月5日(木)11時35分 From: いろは | 返事 削除 変更 |
具体的にどうしたいか、こちらで判りませんから、以下に挙げる例を基に、 VBAのヘルプ、VBEのオブジェクトブラウザ等を参考に応用して、 やりたいように書き上げていってください。 (添付画像からやりたい事をこちらで察するのは難しいですし、 そちらから詳細な説明を加えるのも大変だと思いますので。) Series データ系列 FillFormat マーカー LineFormat 線 各オブジェクトについては、敢えて変数とWIthフレーズを使うことで、 以下の記述の各Withブロックの内側に ドット"."をタイプするだけでメソッドやプロパティ等のメンバーが、 イコール"="をタイプするだけでプロパティに応じた組込み定数の候補が、 入力のヒントとして表示されるような書き方にしてあります。 VBEのオブジェクトブラウザを(F2キーで)表示して、 中段左側にある[クラス]と書かれたペイン(小さいウィンドウ)の中を探して、 上記の3つのキーワードを、それぞれクリックしてみて下さい。 中段右側に['Series' のメンバー]としてメソッドやプロパティが一覧できます。 またはVBAのヘルプを表示させて上記の3つのキーワードを検索してみて下さい。 Sub Re8908589() Dim oSeries As Series Dim oFillFormat As FillFormat Dim oLineFormat As LineFormat With ActiveSheet.ChartObjects("グラフ 1").Chart ' ★グラフ名を文字列で指定 Set oSeries = .SeriesCollection(1) ' ★データ系列を番号で指定 With oSeries ' .Smooth = True With .Format Set oFillFormat = .Fill With oFillFormat ' .Visible = msoTrue ' .Transparency = 0 .ForeColor.RGB = RGB(255, 0, 0) ' マーカーの色を赤にする場合 ' .Solid End With Set oLineFormat = .Line With oLineFormat ' .Visible = msoTrue ' .Transparency = 0 .ForeColor.RGB = RGB(255, 0, 0) ' 線の色を赤にする場合 .Style = msoLineSingle ' 線のスタイルを単線にする場合 ' .Weight = 1 ' .DashStyle = msoLineSolid End With End With End With End With End Sub |
Message#1 2015年2月5日(木)10時58分 From: meron | 返事 削除 変更 |
エクセル2007にて、散布図(直線とマーカー)という種類のグラフの色(9種類)を変えなくてはならないので、VBAを使おうとしました。 しかし、記録してみても下記のようにグラフを選択した後の記録が残らない状態になってしまいます。 Sub Macro1() ' ' Macro1 Macro ' ' ActiveSheet.ChartObjects("グラフ 1""").Activate ActiveChart.SeriesCollection(1).Select End Sub 流れとしては 1.折れ線グラフを右クリックで選択 2.データ系列の書式設定 3.マーカーの色、線の色、先のスタイルなどを変更 4.適用後、記録終了 という作業をしています。 ネットで検索をかけたりしても散布図に関するVBAの記事や質問はなかった(棒グラフなどはあった)ので、改めて質問をさせていただきました。 詳しい方、回答お願い致します。 |
昨日以降 2日前以降 3日前以降 4日前以降 5日前以降