|
▼アル さん:
>グラフは別シートに表示したいのですが、
シートが変わるなら、
(1)元データ範囲の取得部分と
(2)埋め込みグラフの作成 部分とを別々の With 句にすればいいです。
Sub Try4() '元データシート と グラフ出力シートが別
Dim r As Range
Dim ss As String
Dim i As Long
Dim c As Range
'(1)元データ範囲を Range変数r にセットする
With Worksheets("Sheet1")
Set r = .Range("A2", .Cells(Rows.Count, 1).End(xlUp))
'ss = Join(Application.Transpose(r), "")
ss = Join(Application.Transpose( _
Application.Replace(r, 2, 10, "")), "")
i = InStr(ss, "000")
If i > 0 Then
MsgBox ss & vbCr _
& "範囲の " & i & " 番目から 0 が3つ連続しています"
Else
MsgBox "A列に 0 が3つ連続するデータの並びはありません"
Exit Sub
End If
With r.Resize(i + 2)
Set r = Union(.Offset(, 1), .Offset(, 2))
End With
End With
'(2)位置とサイズを指定して 埋め込みグラフの描画
With Worksheets("Sheet2")
Set c = .Range("B3").Resize(15, 5) '<--- サイズは適当です
With .ChartObjects.Add(c.Left, c.Top, c.Width, c.Height).Chart
.ChartType = xlXYScatterSmooth
.SetSourceData Source:=r, PlotBy:=xlColumns
End With
End With
End Sub
|
|