[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]
『データ範囲を変えてヒストグラムを描く』(イブのパパ)
VBA初心者です。品質管理の仕事をしています。以前、データ範囲を10個づつ換えて折れ線グラフを描く下記のコードを教えて頂きました。
上手く動くのですが、このコードに追加して折れ線グラフの横に同じデータ10個(実際には100個)を使ってヒストグラムを描きたいのです。
Sheet2にデータを置き、Sheet3のコマンドボタンでSheet3に折れ線グラフとヒストグラムを描きたいのです。いろいろ試してみましたがデータ範囲を換えてというところが上手くいきません。どなたか教えていてだけないでしょうか。
[エクセルのバージョン]Excel2002、[OSのバージョン]WindowsXP
sheet2
A B C D E F
年月日 試験NO. ロット 製品特性a 製品特性b 製品特性c
2007/1/1 701001 070101 10.8 154.5 54.6
2007/1/2 701002 070102 10.2 149.7 55.2
2007/1/3 701003 070103 10.9 151.3 55.0
Sub データ範囲を換えてグラフを描く()
Dim ラベル範囲 As String
Dim データ範囲 As String
Dim グラフ範囲 As Range
Dim MyChart As ChartObject
Dim MyMax As Long
Static i As Long
With Sheets("Sheet2")
MyMax = .Range("C4", .Range("C65536").End(xlUp)).Rows.Count ラベル範囲 = "C3,F3," & .Range("C4").Offset(i).Resize(10).Address(0, 0) データ範囲 = ラベル範囲 & "," & .Range("F4").Offset(i).Resize(10).Address(0, 0) Set グラフ範囲 = .Range("a20:k45") On Error Resume Next Set MyChart = .ChartObjects(1) On Error GoTo 0 If MyChart Is Nothing Then Set MyChart = .ChartObjects.Add( _ グラフ範囲.Left, グラフ範囲.Top, グラフ範囲.Width, グラフ範囲.Height) End If End With With MyChart.Chart .ChartType = xlLineMarkers .SetSourceData Source:=Sheets("Sheet2").Range(データ範囲), PlotBy:=xlColumns .PlotArea.Width = 500 .PlotArea.Height = 400 .Axes(xlCategory).TickLabels.Font.Size = 20
End With
i = i + 10
If MyMax <= i Then i = 0
Set MyChart = Nothing
Set グラフ範囲 = Nothing
End Sub
グラフってやらないのであまり覚えていませんが、 いちいちグラフを選択して、 ActiveChart.XXXXXX って書かないと、駄目な物もあったと思います。 その辺を試されてはどうでしょう。 BJ
[ 一覧(最新更新順) ]
YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki.
Modified by kazu.