[リストへもどる]   [VBレスキュー(花ちゃん)]
一括表示

投稿時間:2007/06/29(Fri) 12:00
投稿者名:くみ
Eメール:
URL :
タイトル:
VBで「エクセルの2軸上の折れ線」風 表示について
必要があって再開しました超初心者です。
ここに書いて良いのかとまどいながら書いています。
VB6で、「エクセルの2軸上の折れ線」と同じものを作成したいのです。
サンプルを捜したのですが見つかりませんでした。
サンプルをお願いします。

投稿時間:2007/06/29(Fri) 13:29
投稿者名:花ちゃん
Eメール:
URL :
タイトル:
Re: VBで「エクセルの2軸上の折れ線」風 表示について
> サンプルを捜したのですが見つかりませんでした。

下記のような表示ではだめですか?
http://hanatyan.sakura.ne.jp/samplepic/vb6_135.htm

投稿時間:2007/06/29(Fri) 18:38
投稿者名:くみ
Eメール:
URL :
タイトル:
Re^2: VBで「エクセルの2軸上の折れ線」風 表示について
 花ちゃん 様 ありがとうございます。
お手数をお掛けしてすみません。

>下記のような表示ではだめですか?
>http://hanatyan.sakura.ne.jp/samplepic/vb6_135.htm
この一番下のグラフで、合計と平均値など2項目を折れ線で表示したいのです。

サンプル http://hanatyan.sakura.ne.jp/index.html
を実行したのですが、折れ線は1本で、目盛り線上の表示数値(単位)は左右同じ
でした。
折れ線は2本で、しかも、目盛りの数値をそれぞれの単位に合わずことは無理なの
でしょうか。

投稿時間:2007/06/29(Fri) 18:54
投稿者名:花ちゃん
Eメール:
URL :
タイトル:
Re^3: VBで「エクセルの2軸上の折れ線」風 表示について
> 折れ線は2本で、しかも、目盛りの数値をそれぞれの単位に合わずことは無理なの
> でしょうか。

折れ線グラフだけを表示すればいいだけでは、そちらの方が簡単では。

投稿時間:2007/06/29(Fri) 19:23
投稿者名:花ちゃん
Eメール:
URL :
タイトル:
Re^3: VBで「エクセルの2軸上の折れ線」風 表示について
後はご自分で調べて下さい。(これが理解できないと応用も出来ないので)

With MSChart1
    .chartType = VtChChartType2dLine
   .Plot.SeriesCollection(2).SecondaryAxis = True
End With

投稿時間:2007/06/30(Sat) 23:22
投稿者名:くみ
Eメール:
URL :
タイトル:
Re^4: VBで「エクセルの2軸上の折れ線」風 表示について
花ちゃん 様 お手数おかけしました。

>折れ線グラフだけを表示すればいいだけでは、そちらの方が簡単では。
確かにその様な予感はするのですが超初心者のつらさです。
>後はご自分で調べて下さい。(これが理解できないと応用も出来ないので)
はい。貴重なヒントを頂きましたので少しは進めそうです。
 ありがとうございました。

投稿時間: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

投稿時間:2007/07/03(Tue) 18:29
投稿者名:花ちゃん
Eメール:
URL :
タイトル:
Re^6: VBで「エクセルの2軸上の折れ線」風 表示について
> 1、十字線を表示しマウスで移動させて、その値を収得したいのです。
何を指しているのかよく解らない。

> 2、I軸の生徒名を縦書きにするにはどうすればよいのでしょうか。

  With MSChart1.Plot.Axis(VtChAxisIdX).Labels(1)
   .Auto = False
   .TextLayout.Orientation = VtOrientationVertical
  End With

> 3、エクセルのように線上に、▲や■を表示する方法をお願いします。
何を指しているのかよく解らない。

長々意味のないコードを貼り付ける位なら上記の説明をここに表示しているサンプルを
例にとって説明するなり、キチンとした用語を使用するなり、又は、画像等を使って
説明するようにしないと他人には理解できないものがあります。

気を回して回答しても、説明不足ですみませんって返ってきたら何にもならないし。
それと下記と同じ方ではないのですか? ハンドルネームも同じパターンだし。
http://hpcgi1.nifty.com/MADIA/VBBBS/wwwlng.cgi?print+200706/07060055.txt

投稿時間:2007/07/04(Wed) 12:43
投稿者名:くみ
Eメール:
URL :
タイトル:
Re^7: VBで「エクセルの2軸上の折れ線」風 表示について
 花ちゃん 様 さっそくありがとうございました。
この様なことを伺うのは初めてなですので、皆さんの投稿の仕方をまねさせて頂いたつ
もりですが相変わらず言葉たらずになってしまいましてすみませんでした。
>  With MSChart1.Plot.Axis(VtChAxisIdX).Labels(1)
>   .Auto = False
>   .TextLayout.Orientation = VtOrientationVertical
>  End With
http://hanatyan.sakura.ne.jp/「基本的な設定項目とプロパティ」を再度見せて頂きこ
のように使うのだと分かりました。(^_^);
使わせて頂きます。
 えぇ?、そう言われて見てみてみると同じ折れ線ですね。プログラムはすごくシンプル
に私にはみえますけれどね。
 VBのヘルプではあまり詳しく掲示されないので、図書館や書店にて関係の本を捜して、
もう少し勉強しましてからお教え頂くようにします。
 お忙しいところ、ご指導ありがとうがざいました。

投稿時間:2007/07/04(Wed) 12:57
投稿者名:花ちゃん
Eメール:
URL :
タイトル:
Re^8: VBで「エクセルの2軸上の折れ線」風 表示について
>  VBのヘルプではあまり詳しく掲示されないので、図書館や書店にて関係の本を捜して、
> もう少し勉強しましてからお教え頂くようにします。

MSChart 関係の本や詳しく解説しているようなサイトはありませんよ。

ご自分で色々試して見るしか方法はありません。
基本は、プロパティ等の組み合わせと応用だけです。
MSChart で、できる事はたいていここのサイトを検索して調べればどこかで
出ている筈です。

又、設定が正しかっても動作がしない等、できない事もMSChart には多くあります
Excel で出来ないような事はまず、できません。Excelでできても一般的でない事は
殆ど出来ないと思って下さい。

勉強するならここのMSChart関係に書いてある事をコピペで使用するのではなく
一字一字打ちながら試して見て下さい。