VB6.0用掲示板の過去のログ(No.2)−VBレスキュー(花ちゃん)
[記事リスト] [新規投稿] [新着記事] [ワード検索] [管理用]

投稿日: 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


- 関連一覧ツリー (★ をクリックするとツリー全体を一括表示します)

- 返信フォーム (この記事に返信する場合は下記フォームから投稿して下さい)

- VBレスキュー(花ちゃん) - - Web Forum -