0

こんにちは、vba を使用してグラフを生成するコードを作成しました。すべてが正しく機能していますが、問題は、特定の列を選択するために変数を使用したいということです。コードは次のとおりです。

Set x = Range("$CF$2", Range("$CF$2").End(xlDown))
Set y = Range("$CG$2", Range("$CG$2").End(xlDown))
Dim c As Chart
Set c = ActiveWorkbook.Charts.Add
Set c = c.Location(Where:=xlLocationAsObject, Name:=assume)
With c
.ChartType = xlXYScatterLines

' set other chart properties

With .Parent
.Top = Range("cl1").Top
.Left = Range("cl12").Left
.Name = "c"
End With
End With

Dim s As Series
Set s = c.SeriesCollection(1)
With s
.Values = y
 .XValues = x
' set other series properties

End With

COLs最初の行に変数を使用したい

Set x = Range("$CF$2", Range("$CF$2").End(xlDown))
Set y = Range("$CG$2", Range("$CG$2").End(xlDown))

COLs文字列の変数です

4

2 に答える 2

0

Inputbox を使用して、ユーザーに特定のセルをクリックさせることもできます。これにより、使用できるセル参照を含む変数「UserRange」が作成されます。

Sub test()

Dim UserRange As Range

Set UserRange = Application.InputBox(Prompt:="Please Select Range", Title:="Range Select", Type:=8)
UserRange.Value = "Test"

End Sub
于 2013-08-28T08:27:07.477 に答える
0

よくわかりませんがRange、文字列に基づくオブジェクトが必要な場合は、これを試してみませんか:

Option Explicit

Sub TestRange()

    '***** Declare variables
    Dim oX As Range
    Dim sCOLs As String

    '***** Select column
    sCOLs = "A"


    '***** Set Range based on column from sCOLs
    Set oX = Range(sCOLs & "2", Range(sCOLs & "2").End(xlDown))

    '***** Do something with oX
    Debug.Print TypeName(oX)

    '***** Clean up
    Set oX = Nothing

End Sub

範囲全体を文字列として試してみることもできますが、少しきれいなコードでしょうか?

Dim sRange as String

sRange = "A2"

Set oX = Range(sRange, Range(sRange).End(xlDown))
于 2012-09-10T12:22:17.110 に答える