- ベストアンサー
Excelピボットグラフの線描画でエラー発生
- Excel2010で描画したピボットグラフの線を編集しようとしています。しかし、Excel2007が入った端末では、エラーが発生します。
- VBAで線の編集を行っている際に、Excel2007での実行時エラーが発生します。エラー内容は、'Weight' メソッドが失敗しました:'LineFormat'オブジェクトとなっています。
- 線の幅や色を編集するために、.Format.Lineのプロパティを使用しているが、Excelのバージョンによって記述方法が異なる可能性があります。
- みんなの回答 (1)
- 専門家の回答
質問者が選んだベストアンサー
関連するQ&A
- Excel マクロ グラフの線とマーカーの太さ変更
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 となり、同じ太さになってしまいます。 手動でデータ系列の書式設定をすると各々別の太さになるのですが、 マクロではどうすればいいでしょうか? 宜しくお願いいたします。
- 締切済み
- オフィス系ソフト
- エクセル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 グラフの線は無しでマーカの線が有りに設定は出来ないのでしょうか?
- ベストアンサー
- Excel(エクセル)
- EXCELのVBAでの折れ線グラフの属性設定
Microsoft Excel for Office 365を使用しています。 このEXCELでVBAを使って折れ線グラフの属性設定を行っているのですが、 折れ線グラフの線種を変更をするために With ActiveSheet.ChartObjects(j).Chart.SeriesCollection(i) .Border.Color = lineColor .Format.Line.Weight = 1.75 .Format.Line.DashStyle = lineKind .MarkerStyle = markKind .MarkerSize = markSize .MarkerBackgroundColor = markColor .MarkerForegroundColor = lineColor End With のように.DashStyleで線種を設定しているのですが、このように 設定するとマーカーの枠線の線種も変更されてしまいます。 マーカーの枠線の線種を変更せずに折れ線の線種のみを変更する 方法をご教示ください。 よろしくお願いいたします。
- 締切済み
- Excel(エクセル)
- エクセルマクロのグラフ操作
エクセルにてグラフの線の色を変えるマクロを記録し そのまま実行するとエラーになります。 (Lineメソッドは失敗しました) どこを変更すれば上手くいきますでしょうか。 '------------------------記録したマクロ ActiveSheet.ChartObjects("グラフ 1").Activate ActiveChart.Legend.Select ActiveChart.Legend.LegendEntries(1).Select With Selection.Format.Line .Visible = msoTrue .ForeColor.RGB = RGB(192, 0, 0) .Transparency = 0 End With 環境 Windows 7 Office 2010
- ベストアンサー
- Visual Basic
- 【VBA】グラフの線とマーカーの枠線
エクセルのVBAで、グラフの線とマーカーの枠線を別々に扱いたいのですができなくて困っています。(現在はExcel2016使用しています。) 具体的には、線付き散布図でマーカーの枠線は実線で表示したいのに対し、線を変えると、マーカーの枠線も一緒に変化してしまいます。 以下のようなことは、試してみたのですが両方ともにマーカーの線も変化してしまいます。 with Activeworkbook.Activechart.seriesCollection(Int) .Format.Line.DashStyle や .Border.LineStyle マーカーのみ、または散布図のマーカーを結ぶ線の一方のみの線のプロパティを変化させる方法はありますでしょうか。 よろしくお願いいたします。
- 締切済み
- Excel(エクセル)
- 【VBA】グラフの線とマーカーの枠線
エクセルのVBAで、グラフの線とマーカーの枠線を別々に扱いたいのですができなくて困っています。(現在はExcel2016使用しています。) 具体的には、線付き散布図でマーカーの枠線は実線で表示したいのに対し、線を変えると、マーカーの枠線も一緒に変化してしまいます。 以下のようなことは、試してみたのですが両方ともにマーカーの線も変化してしまいます。 with Activeworkbook.Activechart.seriesCollection(Int) .Format.Line.DashStyle や .Border.LineStyle マーカーの枠線のみ、または散布図の線のみプロパティを変化させる方法はありますでしょうか。 画像のように、一方を変更させようとすると、マーカーの枠線も変わってしまい(1番上側の青線)、訳が分からなくなります。 緑線のように、マーカーの線は実線で示したいです。 よろしくお願いいたします。
- 締切済み
- Excel(エクセル)
- Excelの棒グラフのマーカーを減らす方法
Excelで棒グラフを作成したとき、マーカーはデータ1個に対して1個付きます。対象データ数が多いときには、このマーカーが短い間隔で出るため、見にくいグラフになってしまいます。 そこで、このマーカーをデータのn個に1個だけとしたい場合には、どのようにすればよいのでしょうか? VBAを使って、マーカーを消すと言う方法はやっているのですが、データ数が多いとグラフの再描画に時間がかかるためか、全部を処理するのに非常に時間がかかってしまいます。 簡単なグラフの設定で変更することはできないでしょうか? 他のグラフ作成ソフトでは、殆どのものがこのようなマーカーを減らすことができるので、多分Excelでも設定方法があると思うのですが、見つけることができませんでした。
- 締切済み
- オフィス系ソフト
- VBAでのグラフの系列の設定について
グラフの系列設定(線種やマーカースタイル)をマクロで行おうとしていますが、 With Selection.Border .LineStyle = LST(I + 1) .ColorIndex = CID(I + 1) .WEIGHT = WGT(I + 1) End With With Selection .MarkerStyle = MST(I + 1) .MarkerBackgroundColorIndex = MBC(I + 1) .MarkerForegroundColorIndex = MFC(I + 1) .MarkerSize = MSZ(I + 1) .Shadow = SDW(I + 1) .Smooth = False End With というふうに設定を変数にすると、うまく走りません。 LST()はSTRINGで定義しています。 カラーインデックスはINTEGERで定義していますが、これはいけます。 どうしたらいいのでしょうか?
- ベストアンサー
- Visual Basic
- エクセルVBA 自動設定のグラフ系列色のRGB
VBA初級者です。 エクセルで自動設定されたグラフ系列色(点のみ、線なし)の RGBを取得するにはどうしたらいいのでしょうか? 系列色を設定する方法は以下のようにすればいいようですが。。。 ActiveSheet.ChartObjects("グラフ 1").Activate ActiveChart.SeriesCollection(1).Select With Selection .MarkerBackgroundColorIndex = 色番号 / xlAutomatic .MarkerForegroundColorIndex = 色番号 / xlAutomatic または、 .MarkerBackgroundColor = RGB(?,?,?) .MarkerForegroundColor = RGB(?,?,?) End With 私がやりたいことは、上のような記述でxlAutomaticで自動的に設定された ある系列の色を他の系列にも適用したいのです。もう少し具体的に言うと、 系列1,2、系列3,4、のように隣り合う系列を同色にしたいのです。 系列数が少なければ各組合せに対してRGBを設定すればいいのですが、 系列が大量になってきますと、自分でRGBを設定するのも大変で、 系列1,3,5・・・に関しては、xlAutomaticで自動設定して、その色を 系列2,4,6・・・に適用しようと思ったのですが、よくわかりませんでした。 ActiveChart.SeriesCollection(1).Select With Selection .MarkerBackgroundColorIndex = xlAutomatic Color = MarkerBackgroundColorIndex End With ActiveChart.SeriesCollection(2).Select With Selection .MarkerBackgroundColorIndex = Color End With などとしてみましたがダメでした。恥ずかしながら基礎を 理解できていないので詳しく説明していただけると幸いです。 よろしくお願いいたします。
- ベストアンサー
- Visual Basic
- グラフの自動描画を行うときに系列名を非表示に
下記のマクロでグラフを自動描画しています。 この中で、いくつかの点で自分の思うような描画ができていません。今は、描画後に手動にて対応していますが、できることならその手間を省きたく思っています。 ・系列名は不要 ・縦軸、横軸のフォントサイズを指定したい ・データラベルが「0(ゼロ)」の場合は表示しない 何しろマクロ初心者なものです。ご教示をお願いします。 Sub グラフ作成() With ActiveSheet.Shapes.AddChart.Chart .ChartType = xlColumnClustered .SetSourceData Range("V5:W49") End With Dim i As Long With ActiveSheet.ChartObjects(1).Chart For i = 1 To .SeriesCollection.Count .SeriesCollection(i).HasDataLabels = True Next i End With With ActiveSheet.ChartObjects(1).Chart .HasTitle = True .ChartTitle.Characters.Text = Range("W2") & "製造年別グラフ" With .ChartTitle.Format.TextFrame2.TextRange.Font .Size = 6 .Fill.ForeColor.ObjectThemeColor = msoThemeColorAccent2 End With With .Axes(xlCategory, xlPrimary) '---主軸項目軸 .HasTitle = True '---軸ラベル表示 .AxisTitle.Text = "製造年" '---軸ラベル文字列設定 .AxisTitle.Font.Size = 4 End With With .Axes(xlValue, xlPrimary) '---主軸数値軸 .HasTitle = True '---軸ラベル表示 .AxisTitle.Text = "数量" '---軸ラベル文字列設定 .AxisTitle.Font.Size = 4 End With End With End Sub
- ベストアンサー
- Excel(エクセル)
お礼
Window Updateを行った後、再度VBAを実行させたところ エラーになりませんでした!! 同じExcel2007でも、更新プログラムによって このような違いがあるとは、正直思っていなかったです。 やはりUpdateは大切なのですね。 大変勉強になりました。ありがとうございました。
補足
教えていただいたように、エラーの出る端末のOfficeの更新プログラム確認したところ、 膨大な数の更新が表示されました。 更新が行われている他の端末(Excel2007)で実行させると、エラーになりませんでした。 ということは、Officeの更新プログラムが一番怪しいですね。 まずは、Windows Updateを行いたいと思います。 そして、実行させた結果を改めてご報告させていただきます。 しばしお時間を下さい・・・。