投稿日 | : 2007/07/03(Tue) 17:39 |
投稿者 | : くみ |
Eメール | : |
URL | : |
タイトル | : Re^5: VBで「エクセルの2軸上の折れ線」風 表示について |
先日は、ありがとうございました。
サンプルをもとにさせて頂いて何とか一歩近づくことができましが、でもおかしい処
もあるかと思っています。
もう少し教えて頂けないでしょうか。
1、十字線を表示しマウスで移動させて、その値を収得したいのです。
2、I軸の生徒名を縦書きにするにはどうすればよいのでしょうか。
3、エクセルのように線上に、▲や■を表示する方法をお願いします。
「基本的な設定項目とプロパティ」を見せて頂いてそれらしきものはあるのですが
それ以上は分かりませんでした。
超初心者で、いつも、レベルの低い内容ですみません。
Option Explicit
Private sName(10) As String '生徒名
Private Kamoku(4) As String '科目名
Private intDat(10, 4) As Long '点数のデータ
Private Sub Form_Load()
Form1.Move 0, 0, 10400, 7000
MSChart1.Move 10, 10, Me.Width - 140, Me.Height - 400
Call sDataOpen
Call sChartViewSet
End Sub
Private Sub sDataOpen()
Dim CsvD(10) As String
Dim intDatN As Integer
Dim i As Long
Dim j As Long
Dim intFileNo As Integer
intFileNo = FreeFile
Open "seiseki.csv" For Input As #intFileNo
intDatN = -1
Do Until EOF(intFileNo)
intDatN = intDatN + 1
Input #intFileNo, CsvD(0), CsvD(1), CsvD(2), CsvD(3), CsvD(4), _
CsvD(5), CsvD(6), CsvD(7), CsvD(8), CsvD(9), CsvD(10)
If intDatN = 0 Then
For j = 1 To 10
sName(j) = CsvD(j)
Next j
Else
Kamoku(intDatN) = CsvD(0)
For j = 1 To 10
intDat(j, intDatN) = CInt(CsvD(j))
Next j
End If
Loop
Close #intFileNo
With MSChart1
.ColumnCount = 4 'データの数(列数)
.RowCount = 10 'データの数(行数)
For i = 1 To .RowCount
For j = 1 To .ColumnCount
.Column = j
.Row = i
.Data = intDat(i, j)
Next j
Next i
For i = 1 To 10
.DataGrid.RowLabel(i, 1) = sName(i)
Next i
For i = 1 To 4
.DataGrid.ColumnLabel(i, 1) = Kamoku(i)
.Plot.SeriesCollection(i).LegendText = Kamoku(i)
Next i
End With
End Sub
Private Sub sChartViewSet()
With MSChart1
.chartType = VtChChartType2dLine
.Plot.SeriesCollection(4).SecondaryAxis = True
End With
'凡例の表示位置を設定
With MSChart1
.Legend.Location.LocationType = VtChLocationTypeRight
.ShowLegend = True
End With
'目盛り線の設定 (点数の横線)
With MSChart1.Plot.Axis(VtChAxisIdY) '第1のy軸の設定
.ValueScale.Auto = False
.ValueScale.Maximum = 200 '最大値
.ValueScale.Minimum = 0 '最小値
.ValueScale.MajorDivision = 5 '目盛り線の数
.AxisGrid.MajorPen.VtColor.Set 0, 255, 255 '目盛り線の色
End With
With MSChart1.Plot.Axis(VtChAxisIdY2) '第2のy軸の設定
.ValueScale.Auto = False
.ValueScale.Maximum = 300 '最大値
.ValueScale.Minimum = 200 '最小値
.ValueScale.MajorDivision = 10 '目盛り線の数
.AxisGrid.MajorPen.VtColor.Set 0, 0, 0 '目盛り線の色
End With
End Sub