痔になりやすい生活習慣とは?

Excel2010でのマクロで折れ線グラフをマクロで作ろうとしています。

線の太さを2.25pt、マーカーの太さを1.25ptにしたいのですが、
マクロの記録では

ActiveChart.SeriesCollection(2).Select
'線の太さ
With Selection.Format.Line
.Visible = msoTrue
.Weight = 2.25
End With
'マーカーの太さ
With Selection.Format.Line
.Visible = msoTrue
.Weight = 1.25
End With

となり、同じ太さになってしまいます。

手動でデータ系列の書式設定をすると各々別の太さになるのですが、
マクロではどうすればいいでしょうか?

宜しくお願いいたします。

このQ&Aに関連する最新のQ&A

A 回答 (3件)

解決の手続きをされないのは未だ何かあるのですか?


疑問があれば補足してください。
    • good
    • 0

>線の太さを2.25pt、マーカーの太さを1.25ptにしたいのですが



折れ線グラフでは線の太さが2.25ptの時は、マーカーの大きさは2pt以上でないとエラーが出ます。

ActiveChart.SeriesCollection(2).Select
With Selection
  '線の太さ
.Format.Line.Weight = 2.25
  'マーカーの大きさ
 .MarkerSize = 2
End With
    • good
    • 0
この回答へのお礼

回答ありがとうございます。

マーカーの大きさではなく、マーカーの枠の太さです。
説明不足で申し訳ありませんでした。

お礼日時:2012/11/21 18:26

    With ActiveChart.SeriesCollection(2)


        .Format.Line.Weight = 5
        .border.Weight = 3
    End With
    • good
    • 1
この回答へのお礼

回答ありがとうございます。

試してみたら見事にできました!
助かりました。

お礼日時:2012/11/21 18:27

このQ&Aに関連する人気のQ&A

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人はこんなQ&Aも見ています

このQ&Aを見た人が検索しているワード

このQ&Aと関連する良く見られている質問

QエクセルVBAでグラフの線とマーカを設定したい

エクセルVBAでグラフの線とマーカを設定したいです。
グラフの線は無しでマーカの線が有りにしたいのですが、
マクロで記録したコードを見ると
グラフの線、マーカの線ともにFormat.Line.Visibleで指定しています。
実際にコードを記述しても、以下の様になり、グラフの線が表示されてしまいます。
ChartObjects("1").Chart.SeriesCollection(10).Format.Line.Visible = msoFalse

With ChartObjects("1").Chart.SeriesCollection(10).Format.Line
.Visible = msoTrue
.ForeColor.RGB = RGB(255, 102, 0)
.Transparency = 0
End With
グラフの線は無しでマーカの線が有りに設定は出来ないのでしょうか?

Aベストアンサー

With ChartObjects("1").Chart.SeriesCollection(10)
.Format.Line.Visible = msoFalse
.MarkerForegroundColor = RGB(255, 102, 0)
End With

あるいは下記で折れ線のみ塗りつぶしなしになります。
Border.ColorIndex = xlNone

Q複数のデータ系列の線の太さを変えたい

Excelの折れ線グラフやレーダーチャートで、複数のデータ系列の線の太さを一括で変えたいのですが出来ないのでしょうか?
右クリックして「データ系列の書式設定」を使っても1つずつしか変えられませんでした。

Aベストアンサー

マクロでやる事例です。グラフ上をクリックして選択状態にした後、マクロを実行してください。
Sub test()
Dim i As Long

Application.ScreenUpdating = False
On Error Resume Next '存在しない系列を指定してエラーで止まるのを防止
For i = 1 To 100 '100系列も無いと思うので適当な数字に変更して下さい
ActiveChart.SeriesCollection(i).Select
With Selection.Border
.Weight = xlThick '線の太さ
End With
Next i
Application.ScreenUpdating = True
End Sub
自動記録マクロを若干手直ししたものです。線の太さには、
XlHairline,XlMedium,XlThick,XlThin
などがあります。

QExcelマクロ・グラフエリア・プロットエリアのサイズを変更及び綺麗に並べる

何方か、宜しくお願いします。

質問1
ワークシート上の複数のグラフを選択した状態でマクロを実効して
全てのグラフエリア・プロットエリアを同じサイズに変更するマクロを
教えて下さい。
(下記のコードでは、一つのグラフのプロットエリアのみ変更になります。)

Sub グラフサイズ()
ActiveSheet.ChartObjects("グラフ 1").Activate
ActiveChart.PlotArea.Select 'プロットエリア
With Selection
.Top = 17
.Left = 27
.Width = 463
.Height = 330
End With
Range("A3").Select
End Sub
(参考:http://oshiete.nikkeibp.co.jp/qa780484.html)

質問2
質問1で修正したグラフを3列、行数は任意でワークシート上に綺麗に並べたい
のですが、どのようなコードでしょうか。?(グラフとグラフの間は5ポイント位
隙間を入れたいと思います。グラフ数は20~40位、Excel2000)

何方か、宜しくお願いします。

質問1
ワークシート上の複数のグラフを選択した状態でマクロを実効して
全てのグラフエリア・プロットエリアを同じサイズに変更するマクロを
教えて下さい。
(下記のコードでは、一つのグラフのプロットエリアのみ変更になります。)

Sub グラフサイズ()
ActiveSheet.ChartObjects("グラフ 1").Activate
ActiveChart.PlotArea.Select 'プロットエリア
With Selection
.Top = 17
.Left = 27
.W...続きを読む

Aベストアンサー

こんばんは。Wendy02です。

>プロットエリアサイズは固定出来ないのでしょうか?、私が探した所無いようでしたが?Excelの仕様かな?

ある程度は可能ですが、On Error トラップが必要ですね。つまり、そのまま実行してしまうと、物理的?な数値に合わないと、実行時エラーが発生してしまうのです。だいたい、プロットエリアの大きさは、グラフエリアの90%ぐらいだったかな? だから、理論的に、一旦、プロットエリアの大きさを取って、グラフエリアを変更してしまえば可能だと思うのです。その後で、並びの位置整理すればよいわけですね。でも、そうすると、今度は、グラフ全体の大きさがマチマチになる可能性があるわけです。

それで、最初の私のコードのように、グラフエリアは、余計なものだとして、私は、消してしまったのです。結構、見栄えが良いなって、自負したのですが……。^^;

QEXCEL2007

EXCEL2007 <VBAで散布図の系列の追加>


標記の通り、VBAで散布図に新たに系列を追加したいのです。
たとえば現在、系列1があるとします。
そこで、横軸がA1:A10、縦軸がB1:B10のデータを追加するとします。

    ActiveChart.SeriesCollection.Add Range("A1:B10")

しかし、このマクロだと縦軸がA1:A10の系列2と縦軸がB1:B10の系列3ができてしまします。

そこで、ためしに

    ActiveChart.SeriesCollection.Add Range("A1")   '仮に作る

    With ActiveChart.SeriesCollection(2)
      .XValues = Range("A1:A10")
      .Values = Range("B1:B10")
    End With

とすると、「実行時エラー'1004'; アプリケーション定義またはオブジェクト定義のエラーです。」となります。


いろいろ検索したのですが、これと言ったのがみつかりません。
意図するマクロはどのようなものになるのでしょうか。
ご教示お願いします。

EXCEL2007 <VBAで散布図の系列の追加>


標記の通り、VBAで散布図に新たに系列を追加したいのです。
たとえば現在、系列1があるとします。
そこで、横軸がA1:A10、縦軸がB1:B10のデータを追加するとします。

    ActiveChart.SeriesCollection.Add Range("A1:B10")

しかし、このマクロだと縦軸がA1:A10の系列2と縦軸がB1:B10の系列3ができてしまします。

そこで、ためしに

    ActiveChart.SeriesCollection.Add Range("A1")   '仮に作る

    With ActiveChart.SeriesCollection(2)
    ...続きを読む

Aベストアンサー

NewSeriesメソッドで系列が追加出来ます。

ActiveChartがグラフシートならセルは持っていません。
よって
.XValues = Range("A1:A10")
は成立しません。
元データがあるシート名を明記してください。

≪例1≫
With ActiveChart.SeriesCollection.NewSeries
  .XValues = Sheets("Sheet1").Range("A1:A10")
  .Values = Sheets("Sheet1").Range("B1:B10")
End With

≪例2≫
With Charts("Graph1").SeriesCollection.NewSeries
  .XValues = Sheets("Sheet1").Range("A1:A10")
  .Values = Sheets("Sheet1").Range("B1:B10")
End With

≪例3≫
With Charts(1).SeriesCollection.NewSeries
  .XValues = Sheets("Sheet1").Range("A1:A10")
  .Values = Sheets("Sheet1").Range("B1:B10")
End With

NewSeriesメソッドで系列が追加出来ます。

ActiveChartがグラフシートならセルは持っていません。
よって
.XValues = Range("A1:A10")
は成立しません。
元データがあるシート名を明記してください。

≪例1≫
With ActiveChart.SeriesCollection.NewSeries
  .XValues = Sheets("Sheet1").Range("A1:A10")
  .Values = Sheets("Sheet1").Range("B1:B10")
End With

≪例2≫
With Charts("Graph1").SeriesCollection.NewSeries
  .XValues = Sheets("Sheet1").Range("A1:A10")
  .Values = Sheets("Sheet1")....続きを読む

QEXCEL VBAで計算値を四捨五入、切り上げ、切捨てする方法

ネットで探してみたのですが、計算結果を四捨五入して特定のセルを
返すにはどうしたらいいのでしょうか?

Sub hokangosa()

Dim ZPS As Double
Dim ZPOS As Double
Dim DMN As Double
MsgBox (" >>> 補間誤差自動計算 <<< ")
MsgBox (" >>> 初期値入力します <<< ")
ZPS = InputBox(">>> ステップを入力してください<<<")
ZPOS = Sheet1.Cells(22, 4).Value
DMN = ZPOS / ZPS
Sheet1.Cells(23, 6).Value = DMN
End Sub

ここでDMNの値を四捨五入したいです。

またこれとは別に切上げ、切捨ても教えていただけるとありがたいです。

Aベストアンサー

DMN = Application.WorksheetFunction.Round(ZPOS / ZPS, 0)
で、四捨五入
DMN = Application.RoundDown(ZPOS / ZPS, 0)
で切り捨て
DMN = Application.RoundUp(ZPOS / ZPS, 0)
で切り上げです。

引数で、対象桁を変更できます。

Qエクセル折れ線グラフの線種を破線にできますか?

エクセルで作成される折れ線グラフの線種は実線ですが、モノクロ印刷の場合は、破線(点線)や一点鎖線を使うと見やすいかと思います。
エクセルのグラフのデザインには、破線等の線種を変えるメニューがないので方法がわかりません。どなたかご教示いただけますでしょうか?

Aベストアンサー

yanbou4023さん 今日は!
No3です。回答がとんでも無い勘違いの回答で本当に申し訳御座いませんでした。
年の所為ですかね?
折れ線グラフが目に入らず分かり切った罫線の回答をしちゃって!
解決されたので良いのですが、幸い未だに締め切られて居ないので調べていた所間違いに気づきお詫びいたします。
他の回答者さんから回答が出されていますが、今一度図入りサイトを紹介いたします。
■Word2007 & excel2007
http://msoffice.sblo.jp/article/27491303.html
概要:年次推移を折れ線グラフにし、最後は予測だから実線ではなく点線にしたいというようなことがあります。点線だけではなく、折れ線グラフの線の色や太さなど様々な変化に対応できる変更方法があります。
☆グラフを選択した状態で、グラフツール⇒レイアウトタブ⇒現在の選択範囲を選択し、グラフエリアと表示されているリストから点線にしたいデータ系列(見本の場合、「系列"ダミー(点線用)"」)を選びます。
☆選ばれている状態で、リストの下にある「選択対象の書式設定」をクリックします。
選ばれている状態で、リストの下にあるデータ系列の書式設定というウィンドウが出てくるので線の色(主線と同じ色にする)・線のスタイル(実線/点線を変更)を選んで好みの線に変更します。
※マーカーが必要であればマーカーのオプション・マーカーの塗りつぶし・マーカーの色・マーカーのスタイルの4つを確認し、変更をするなら必要に応じて選択し適宜対応する。
以上の操作が図解されて居ますので判り易いと思います。
今後は良くタイトルを見て、質問者さんのイメージ通りの回答をする様にしますので宜しく御願いいたします。
 

yanbou4023さん 今日は!
No3です。回答がとんでも無い勘違いの回答で本当に申し訳御座いませんでした。
年の所為ですかね?
折れ線グラフが目に入らず分かり切った罫線の回答をしちゃって!
解決されたので良いのですが、幸い未だに締め切られて居ないので調べていた所間違いに気づきお詫びいたします。
他の回答者さんから回答が出されていますが、今一度図入りサイトを紹介いたします。
■Word2007 & excel2007
http://msoffice.sblo.jp/article/27491303.html
概要:年次推移を折れ線グラフにし、最後は予測だ...続きを読む

Q[エクセル]マクロで、自動的にグラフの色を変える方法

エクセルでの質問です。

例えば、5種類の項目がありそれをA~Eとします。
それぞれがx軸になりグラフがあったとします。
A~Eそれぞれのグラフで色が決まっていたとします。
しかしながら、通常はこのA~Eの順番を変えてもグラフの色は
もとの順番のままだと思います。
(左から順番に赤・青・黄色・・・・等になっていてA~E
 の項目とは無関係)

なので、関数とかではそれぞれの項目ごとに色を決定させることは
できず、やるならマクロを組むことになると思います。

どのような構文にすればいいのでしょうか?
よろしくお願いします。

Aベストアンサー

文面から推察すると、グラフの種類は集合縦棒グラフでしょうか?
Excelのグラフでは、系列毎に同じ色が自動的に割り当てられます。
塗りつぶし色変更操作を「マクロの記録」すれば参考コードが得られます。

≪系列1の棒の色を変更≫
Sub test特定系列の塗り潰し()
  With ActiveChart.SeriesCollection(1)
    .Interior.ColorIndex = 25
  End With
End Sub

≪特定要素の棒の色を変更≫
Sub test特定要素の塗り潰し()
  With ActiveChart.SeriesCollection(1).Points(3)
    .Interior.ColorIndex = 23
  End With
End Sub

≪折れ線とマーカーの色を変更≫
Sub test折れ線の色()
  With ActiveChart.SeriesCollection(1)
    .Border.ColorIndex = 6
    .MarkerBackgroundColorIndex = 6
    .MarkerForegroundColorIndex = 6
  End With
End Sub

文面から推察すると、グラフの種類は集合縦棒グラフでしょうか?
Excelのグラフでは、系列毎に同じ色が自動的に割り当てられます。
塗りつぶし色変更操作を「マクロの記録」すれば参考コードが得られます。

≪系列1の棒の色を変更≫
Sub test特定系列の塗り潰し()
  With ActiveChart.SeriesCollection(1)
    .Interior.ColorIndex = 25
  End With
End Sub

≪特定要素の棒の色を変更≫
Sub test特定要素の塗り潰し()
  With ActiveChart.SeriesCollection(1).Points(3)
    .Interior...続きを読む

QEXCEL VBA で現在開いているブックのファイル名を取得する方法

EXCEL2003 VBAで業務を簡素化するために、現在開いているブックのファイル名を取得する方法が分かりません。
作業手順をマクロを使って処理していますが、オリジナルのワークブックをファイル名を変えて保存し、以後、このワークブックを読み込んで使用しています。
このときのVBAは、オリジナルのファイル名を使っているため、ファイル名を変更するとエラーになり、以後の業務に使用できません。
常にファイル名を取得出来るVBAをどなたか、教えて下さい。

Aベストアンサー

>現在開いているブックのファイル名
 ちょっと曖昧な表現かなぁという気もいたしますが、VBAが書いてあるブックのブック名は
ThisWorkbook.Name
で、現在 "アクティブにして" 操作対象になっているブックの名前は
ActiveWorkbook.Name
ですね。

 しかし、
>VBAは、オリジナルのファイル名を使っているため、ファイル名を変更するとエラーになり
というような文脈からすると、
ThisWorkbook.Name
の方ですかね。

Qブック上にあるグラフの外枠を全て消したい

シート状に複数のグラフ(散布図)が作られてます.
これの輪郭線をすべて消去したいです.

Excel操作でいうと「グラフエリアの書式設定」→「パターン」タブ→
輪郭を「なし」となります.

一グラフに対して自動記録マクロをとると,次のようになります.
これを,ブック上(シート上でなく)にある全てのグラフオブジェクト
に対して施したいのですが,その方法がわかりません.

Sub Macro1()
ActiveSheet.ChartObjects("グラフ 1").Activate
ActiveChart.ChartArea.Select
With Selection.Border
.Weight = 1
.LineStyle = 0
End With
Selection.Interior.ColorIndex = xlAutomatic
Sheets("Sheet1").DrawingObjects("グラフ 1").RoundedCorners = False
Sheets("Sheet1").DrawingObjects("グラフ 1").Shadow = False
End Sub

よろしくお願い致します。

シート状に複数のグラフ(散布図)が作られてます.
これの輪郭線をすべて消去したいです.

Excel操作でいうと「グラフエリアの書式設定」→「パターン」タブ→
輪郭を「なし」となります.

一グラフに対して自動記録マクロをとると,次のようになります.
これを,ブック上(シート上でなく)にある全てのグラフオブジェクト
に対して施したいのですが,その方法がわかりません.

Sub Macro1()
ActiveSheet.ChartObjects("グラフ 1").Activate
ActiveChart.ChartArea.Select
With Sele...続きを読む

Aベストアンサー

コメントを頂いておりましたのに、回答が遅れまして申し訳ありません。

もし、ブック全体に対象を広げたいのであれば

Sub Macro1()

  Dim mySheet As Worksheet
  Dim myChart As ChartObject

  For Each mySheet In ThisWorkbook.Worksheets
    For Each myChart In mySheet.ChartObjects
      myChart.Chart.ChartArea.Border.LineStyle = 0
    Next
  Next

End Sub
となると思います。

QVBA:グラフのプロットエリアの色とサイズの変更

エクセルグラフのプロットエリアの色とサイズをVBAで変更するにはどうのようなコードを書けばよいでしょうか?ちなみに色は白にしたいです。グラフ自体の色の変更はヘルプにあったのですがプロットエリアのみ変更できるコードはそこにはありませんでした。宜しくお願い致します。

Aベストアンサー

マクロの記録を採れば概略わかります。
大きさは
ActiveChart.PlotArea.Select
Selection.Top = 15
Selection.Height = 118
Selection.Width = 218
Selection.Left = 1
色は
ActiveChart.PlotArea.Select
With Selection.Interior
.ColorIndex = 27
.PatternColorIndex = 1
.Pattern = xlSolid
End With
上記は私の場合は黄色、2は白色。
●セルをセレクトした状態で実行するなら
ActiveSheet.ChartObjects("グラフ 2").Activate
ActiveChart.PlotArea.Select
としないといけない。
●プロットサイズを限度を越えて大きくする場合は、グラフエリアのサイズも大きくしておかないといけないと思う。
●普通の状態だと、グラフエリアを拡大すると、プロットエリアも拡大してしまう。目的によっては、これを止めておかないといけないようにも思う。

マクロの記録を採れば概略わかります。
大きさは
ActiveChart.PlotArea.Select
Selection.Top = 15
Selection.Height = 118
Selection.Width = 218
Selection.Left = 1
色は
ActiveChart.PlotArea.Select
With Selection.Interior
.ColorIndex = 27
.PatternColorIndex = 1
.Pattern = xlSolid
End With
上記は私の場合は黄色、2は白色。
●セルをセレクトした状態で実行するなら
ActiveSheet.ChartObjects("グラフ 2").Activate
ActiveChar...続きを読む


このQ&Aを見た人がよく見るQ&A

人気Q&Aランキング