- ベストアンサー
VBAでの質問
散布図で表示した要素ChartObjects.Chart.SeriesCollection(1).Points(2)のExcel上の座標を取得するにはどうしたらいいでしょうか?
- みんなの回答 (1)
- 専門家の回答
質問者が選んだベストアンサー
関連するQ&A
- excel VBA 散布図 Xの値を表示させる
タイトルの通り excelの散布図においてデータラベルを表示した際にXの値も表示させたいと考えております。 .ChartObjects(1).Chart.SeriesCollection(1).HasDataLabels = True とするとデフォルトではYの値のみ表示されています。 Excel上でデータラベルの書式設定→ラベルオプション→Xの値(X)から表示させることは出来るのですが、これをVBAで指示したいと考えております。 自信が調べた限りではヒントとなるような情報が見当たらなかったため、ご存知の方がいらっしゃいましたらご回答をお願い致します。
- ベストアンサー
- Visual Basic
- VBAのグラフの設定について
散布図の設定を線ありにし、かつ終点を矢印にしたいのですが、線はかけるものの、矢印の設定の時、 With Sheet1.ChartObjects("Chart").Chart.SeriesCollection(1) .Border.LineStyle = xlContinuous '線の種類(連続線) End With With sheet1.ChartObjects("Chart").ShapeRange .Line.EndArrowheadStyle = msoArrowheadOpen End With と設定すると、指定された値は境界を超えています。とでます。いくつかの方法でやりましたが、オブジェクトが対象ではないなど、エラーがどうしてもでてしまいます。どのように設定したら良いでしょうか?
- ベストアンサー
- Visual Basic
- C#でのExcel操作について.(Rangeオブジェクトへの複数範囲設定)
C#でExcelのグラフを作成させるプログラムを書いるのですが,Rangeオブジェクトへの離れたセルの複数範囲を指定したいのですが,いろいろ調べてみましたがどうしても解決できません. 調べた限りではVBではできるようですが,C#ではできないのでしょうか? Excel.ChartObjects chartObjects =(Excel.ChartObjects)oSheet.ChartObjects(Type.Missing); Excel.ChartObject chartObj = chartObjects.Add(100, 100, 700, 400); Excel.Chart chart = chartObj.Chart; Excel.Range chartRange = oSheet.get_Range("B1","B3"); /*↑の部分で("B1:B3,B5:B8,C5")のようなことをしたいです.RangeにAddメソッドのようなものがあればと思っているのですが無いみたいなので‥‥*/ chart.SetSourceData(chartRange,Excel.XlRowCol.xlColumns); Excel.SeriesCollection seriesCollection=(Excel.SeriesCollection)chart.SeriesCollection(Type.Missing); よろしくお願いします.
- ベストアンサー
- その他(プログラミング・開発)
- エクセルグラフ2003と2007の違いについて
エクセル2003で下記のVBAの構文を作成しました。 入力画面シートで入力し、グラフに色付けを反映させたものを 印刷画面のグラフに同じものを反映させているのですが エクセル2003ではうまくいっていたのですが エクセル2007になると構文中の 【Sheets("印刷画面").ChartObjects("グラフ 2").Chart.SeriesCollection(1).Points(i).Interior.ColorIndex = nColor】の部分で 実行時エラー'-2147467259(80004005) ColorIndexメソッドは失敗しました;'Interior'オブジェクト とでてきて使用できなくなりました。 どなたかエクセル2007で使用できるようにする方法を教えてください。 作成した構文は以下のものです。 Sub Sam1() Dim nColor As Variant Dim i As Long i = 1 If Sheets("入力画面").Cells(i, "M") = 1 Then nColor = 5 Sheets("入力画面").ChartObjects("グラフ 8").Chart.SeriesCollection(1).Points(i).Interior.ColorIndex = nColor Sheets("印刷画面").ChartObjects("グラフ 2").Chart.SeriesCollection(1).Points(i).Interior.ColorIndex = nColor End Sub
- ベストアンサー
- オフィス系ソフト
- [VBA Excel] 2系列の散布図を書いてみるとおかしくなります・・・
Excel 2007とVBAで数値解析をしています。計算結果のグラフを表示するための準備段階として、次のようなプログラムを組んで、2系列の散布図を書いて見ました。 Option Explicit Sub makechart() Dim chart1 As ChartObject, wsh As Worksheet Set wsh = Sheet1 Set chart1 = wsh.ChartObjects.Add( _ 10, 20, 250, 200) With chart1.Chart .ChartType = xlLineStacked .SeriesCollection.NewSeries .SeriesCollection(1).XValues = _ wsh.Range("A1:A5") .SeriesCollection(1).Values = _ wsh.Range("B1:B5") End With With chart1.Chart .SeriesCollection.NewSeries .SeriesCollection(2).XValues = _ wsh.Range("A1:A5") .SeriesCollection(2).Values = _ wsh.Range("C1:C5") End With End Sub --sheet1-- A B C ----------- 1| 1 2 3 2| 2 3 4 3| 3 4 5 4| 4 5 6 5| 5 6 7 系列1のグラフはB列 対 A列という意図通りのものになったのですが、系列2のグラフは、Y軸の値が、C列の値にB列の値を足したもの (1,2+3)、(2,3+4) ・・・ になってしまいました。系列2のグラフも純粋にC列 対 A列したいのですが、そのためにはどうすれば良いでしょうか。ご教授ください。
- ベストアンサー
- Visual Basic
- VBAでの質問
VBAで散布図を作成し,そのグラフの要素をクリックすると,その要素の値が表示されるようなプログラムを作成したくて,いろいろ調べ作成しています.散布図を作成するまではできましたが,要素をクリックすると数値が表示される,部分がうまくできず,苦戦しています.何かいい方法があれば教えて頂きたいです.初心者なもので,分からないことばかりですが,お願いします.
- ベストアンサー
- Visual Basic
- エクセル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(エクセル)
- VBAにてExcelでグラフ元データの範囲を取得する関数は?
VBAでExcelのグラフの「元のデータ」のデータ範囲の 値を取得する関数等がありましたら教えていただけな いでしょうか。 系列の名前や値はこんな形で取れるのですが。。 Set work = Tg_Sheet.ChartObjects(i) AreaStr = work.Chart.SeriesCollection.Item(1).Formula Set work = Nothing 以上よろしくお願いいたします。
- ベストアンサー
- Visual Basic
- エクセルのVBAについて
エクセル2007にて、散布図(直線とマーカー)という種類のグラフの色(9種類)を変えなくてはならないので、VBAを使おうとしました。 しかし、記録してみても下記のようにグラフを選択した後の記録が残らない状態になってしまいます。 Sub Macro1() ' ' Macro1 Macro ' ' ActiveSheet.ChartObjects("グラフ 1""").Activate ActiveChart.SeriesCollection(1).Select End Sub 流れとしては 1.折れ線グラフを右クリックで選択 2.データ系列の書式設定 3.マーカーの色、線の色、先のスタイルなどを変更 4.適用後、記録終了 という作業をしています。 ネットで検索をかけたりしても散布図に関するVBAの記事や質問はなかった(棒グラフなどはあった)ので、改めて質問をさせていただきました。 詳しい方、回答お願い致します。
- ベストアンサー
- Excel(エクセル)
- Excel VBAの散布図について
Excel VBAで散布図を作ろうと考えています。 元のデータは添付した画像のものです。 左端にXの値があって、それ以降7列ごとに8枚の散布図を作成しようと考えております。 そこで、kを1~8まで動かし8種類の散布図を作成しようと考えているのですが、このマクロではk=1だけプログラムを回しただけで、一枚のグラフにすべての系列が載ってしまいます。 kを動かさずに、Cellの位置を指定して回した際にはうまくいったのですが、kを動かすようにしたところうまくいきません。 散布図を作る際に系列の数(私の場合7種類)を指定するにはどうしたらよいでしょうか。 どなたかご教授ください。 For k = 1 To 8 ActiveSheet.Shapes.AddChart.Select ActiveChart.ChartType = xlXYScatter ActiveChart.SeriesCollection(1).Name = Sheets("Voltammogram").Cells(10, -5 + 7 * k) ActiveChart.SeriesCollection(1).XValues = "=Voltammogram!$A$12:$A$250" ActiveChart.SeriesCollection(1).Values = Sheets("Voltammogram").Range(Cells(12, -5 + 7 * k), Cells(250, -5 + 7 * k)) ActiveChart.SeriesCollection(2).Name = Sheets("Voltammogram").Cells(10, -4 + 7 * k) ActiveChart.SeriesCollection(2).XValues = "=Voltammogram!$A$12:$A$250" ActiveChart.SeriesCollection(2).Values = Sheets("Voltammogram").Range(Cells(12, -4 + 7 * k), Cells(250, -4 + 7 * k)) 以降7列まで続きます。
- ベストアンサー
- その他MS Office製品
お礼
大変参考になりました!! ありがとうございます.