Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/excel/24.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
vba中图形绘制的范围选择_Vba_Excel - Fatal编程技术网

vba中图形绘制的范围选择

vba中图形绘制的范围选择,vba,excel,Vba,Excel,嗨,我正在尝试使用vba宏自动生成图形。下面的代码给出了错误对象变量或未设置块变量。我已经在下面显示了我的代码,它在xrange行上断开。如果有人能帮助我,我将不胜感激 ' Chart update Dim xrange As Range, yrange As Range Dim co As Object Left = 1500: Top = 250: Width = 280: Height = 210 'Draw the Charts ' Set range xrange = ActiveS

嗨,我正在尝试使用vba宏自动生成图形。下面的代码给出了错误对象变量或未设置块变量。我已经在下面显示了我的代码,它在xrange行上断开。如果有人能帮助我,我将不胜感激

' Chart update
Dim xrange As Range, yrange As Range
Dim co As Object
Left = 1500: Top = 250: Width = 280: Height = 210

'Draw the Charts
' Set range
xrange = ActiveSheet.Range(Cells(2, 3), Cells(17, 3))
yrange = ActiveSheet.Range(Cells(2, 4), Cells(17, 4))
'
Set co = Sheets("Sheet1").ChartObjects.Add(Left, Top, Width, Height)
co.Name = "Chart1"
co.Chart.ChartWizard Source:=yrange, _
Gallery:=xlXYScatterSmooth, PlotBy:=xlColumns, Format:=1, _
CategoryLabels:=0, SeriesLabels:=0, HasLegend:=False, Title:="Chart Title", _
CategoryTitle:=xlabel, ValueTitle:=ylabel
co.Chart.SeriesCollection(1).XValues = xrange

我看到了几个错误

左、右为保留字。您不应该将它们用作变量。您可以使用Lft和Wdt来代替它们

您的单元格对象未完全限定。我建议使用对象而不是ActiveSheet

例如,请注意单元格前的点

Sub Sample()
    Dim xrange As Range, yrange As Range
    Dim co As Object
    Dim ws As Worksheet

    '~~> Change this to the relevant sheet
    Set ws = ThisWorkbook.Sheets("Sheet1")

    lft = 1500: Top = 250: wdt = 280: Height = 210

    With ws
        xrange = .Range(.Cells(2, 3), .Cells(17, 3))
        yrange = .Range(.Cells(2, 4), .Cells(17, 4))

        '
        '~~> Rest of the code
        '
    End With
End Sub

你需要写:使用NameOfGraph,在你使用.xrange之后,etcThanks Alex,当我在graph的名称之后使用ranges时,它起作用了。许多“谢谢停止”和“高度”也是保留词。