はじめまして。VB初心者です。
エクセルからデータを取り出し、VB2008のMSChartコントロールを使って、マーカー無しの平滑線の散布図を作ろうと思っています。まだVB初心者で、プログラム作るのに苦労しています(汗)。エクセルから下記のようにランダムにデータを取り出して表示する方法わかる方いましたらご教示お願いします。(サンプルコードありましたら助かります!!)
★VB2008のMSChartコントロールで下記のように表示したいです!!
(1)エクセルにあるデータは、A1からデータがはじまっているのではなく、AFの3からはじまり、3,6,9,12(行)に系列ごとにデータが入力されます(下記のエクセルデータ例参考)。
(2)VBでの表示は下記のエクセルで作ったグラフのようにしたいです!!データはエクセルデータの行に入力されている黄色の部分です。(X軸目盛りは1単位となります)、
(3)系列はエクセルの行となり、表示は系列をすべて重ねて表示します。(系列の数は列のセルの最後まである場合があります)
参考にエクセルでグラフ作りましたのでみて頂ければ幸いです
A 回答 (4件)
- 最新から表示
- 回答順に表示
No.4
- 回答日時:
No.3
- 回答日時:
マルチポストする暇があるなら、試してみれば少し位理解できるかと
思います。
私も今回初めて試したので、貴方がどのような使い方をするかまで
考慮しておりませんが、Line のグラフの表示を試してみました。
元々、グラフの表示は、個人の好みが大きく左右されるので、自分で
色々試して理解するようにしないと応用ができません。
Public Class Form1
Private Sub Form1_Load(ByVal sender As System.Object, _
ByVal e As System.EventArgs) Handles MyBase.Load
Dim dat(2, 10) As Integer 'Excel から取得して下さい。
Chart1.Series.Add("系列1")
Chart1.Series.Add("系列2")
Chart1.Series.Add("系列3")
For i As Integer = 0 To 10
dat(0, i) = CInt(Int(100 - 1 + 1) * Rnd())
dat(1, i) = CInt(Int(100 - 1 + 1) * Rnd())
dat(2, i) = CInt(Int(100 - 1 + 1) * Rnd())
Chart1.Series("系列1").Points.AddY(dat(0, i))
Chart1.Series("系列2").Points.AddY(dat(1, i))
Chart1.Series("系列3").Points.AddY(dat(2, i))
Next
Chart1.Series("系列1").ChartType = DataVisualization.Charting.SeriesChartType.Line
Chart1.Series("系列2").ChartType = DataVisualization.Charting.SeriesChartType.Line
Chart1.Series("系列3").ChartType = DataVisualization.Charting.SeriesChartType.Line
End Sub
End Class
No.2
- 回答日時:
>ご提案いただいたエクセルを直接表示できる方法ですが、当方も考えたのですが、
>エクセルのシートがいくつもあるので、毎回作成するのは手間がかかる為、
>エクセルのデータをそのまま取り込んで表示させるVBベースのプログラムを考えています。
それは、MSChartコントロール を使ってグラフを作成しようが、Excel の機能でグラフを
作成しようが、同じ事ではないのですか?
それに、今まで、チャートコントロール扱った事がなければ、チョット無理かも知れません。
ましてや、ご自分で少しは調べて試す位の努力をしないと、新しい事に挑戦するのは...。
>また特にわからない点は、エクセルにあるデータ(A1からデータがはじまっているのではなく、
>AFの3からはじまり、3,6,9,12(行)に系列ごと(添付の黄色の部分)データ)が入力されていて、
>それをVBで読み取って、MSChartで表示するところがいまひとつわかりません。
Excel 上でマクロを取ってそのマクロを見れば解りませんか?
※ マルチポストをされていますね、以後、回答は控えさせて頂きます。
No.1
- 回答日時:
>★VB2008のMSChartコントロールで下記のように表示したいです!!
VB2008には、MSChartコントロールはありません。
MSChartコントロールは、VB6.0 に付属しているものです。
もちろん、VB2008 でも使用する事はできますが、その場合VB6.0の
ライセンスが必要です。
Excel のデータを使ってグラフを作成するなら、MSChartコントロールで作成しなくても
Excel でグラフを作成して、それをVB2008上に表示したらいかがでしょうか?
MSChartコントロールで表示するにしても、貴方は、どこまでできて
どこが解らないのでしょうか?
VB6.0 でなら、MSChartコントロールを扱えるのでしょうか?
この回答への補足
ご回答有難うございます。ちなみにMSChartはVisualStudio2008用に下記のサイトからインストールしました。ちなみに,
MSchartの扱いは初めてです。VBでのプログラムはできます。http://code.msdn.microsoft.com/mschart
ご提案いただいたエクセルを直接表示できる方法ですが、当方も考えたのですが、エクセルのシートがいくつもあるので、毎回作成するのは手間がかかる為、エクセルのデータをそのまま取り込んで表示させるVBベースのプログラムを考えています。
また特にわからない点は、エクセルにあるデータ(A1からデータがはじまっているのではなく、AFの3からはじまり、3,6,9,12(行)に系列ごと(添付の黄色の部分)データ)が入力されていて、それをVBで読み取って、MSChartで表示するところがいまひとつわかりません。
説明不足で恐れ入りますが、以上、宜しく御願致します。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Excel(エクセル) エクセルの散布図で新たに入力した値のデータラベルが空欄になる現象 1 2022/04/26 09:31
- Access(アクセス) Accessのクエリの結果を、既存のエクセルに追加したい 2 2022/07/31 22:44
- Excel(エクセル) エクセルで沢山のレコードの最後に追記するには? 7 2023/04/10 13:27
- Excel(エクセル) 【エクセル」 特定のセルで条件抽出した列を、別シートに上から詰めて表示したい。 8 2022/04/08 16:00
- Excel(エクセル) エクセル 関数について 2 2022/10/10 07:56
- Excel(エクセル) アウトラインの小計のやり方 1 2023/03/20 11:51
- Visual Basic(VBA) 【VBA】データを入力後に,同一シート内に履歴として転記するVBAコードを教えていただきたいです。 3 2022/11/16 01:37
- Visual Basic(VBA) 3つのプロシージャをまとめたら実行時エラー発生で対応不能 6 2022/05/17 01:47
- Excel(エクセル) 【VBA】指定フォルダに格納中のテキストファイルをエクセルで処理し結果のエクセルを新規フォルダに保存 1 2022/03/25 14:19
- Excel(エクセル) 【マクロ】マクロが保存されているエクセルとは、別のエクセルブックの全シートの非表示列を再表示したい 1 2022/12/24 20:48
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
テキストボックス(VBA)でEnter...
-
DataGridで左詰め、右...
-
PictureBoxの背景色変更(VB.NET)
-
ユーザーフォームに日付を表示...
-
コンボボックスのセンタリング
-
リストコントロールのデータの...
-
TreeViewでToolTipTextを表示し...
-
DataGridViewで行の展開みたい...
-
MFCでbitmapを背景にしてstatic...
-
エクセル VBA ユーザーフォーム...
-
ADOのCursorLocationプロパティ
-
Enabled=Falseのテキストボック...
-
コントロール使わずdropdownlis...
-
ACCESS2010 ActiveXコントロー...
-
ASP.NETでのテキストボックスに...
-
デザインモードを解除すると消...
-
Excel VBA テキストボックス...
-
checkbox付きListViewで デフ...
-
実行時エラー 438になった時の...
-
VBA シートのボタン名を変更し...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
テキストボックス(VBA)でEnter...
-
ADOのCursorLocationプロパティ
-
Wordテキストコントロールが未...
-
エクセルの画像にツールチップ...
-
ACCESS2010 ActiveXコントロー...
-
ユーザーフォームに日付を表示...
-
コンボボックスの高さを変更し...
-
C# TEXTが空白であるLABELは何...
-
VB.NETで縦書表示をしたいので...
-
VBからエクセルのテキストボ...
-
エクセル入力規制リスト行数
-
DataGridViewで行の展開みたい...
-
チェックボックスの文字色の変え方
-
デザインモードを解除すると消...
-
VB6でLabelの最前面にText Box...
-
Enabled=Falseのテキストボック...
-
C# アプリ終了時に設定を記憶...
-
PictureBoxの背景色変更(VB.NET)
-
checkbox付きListViewで デフ...
-
VC++のエディットボックスの非表示
おすすめ情報