Excel 如何跳过某个范围内的空单元格以用作散点图的范围?
我是VBA新手,尝试动态选择散点图所需的数据。我正在尝试跳过“a”列中有空白的任何行,以便散点图是连续的 注释部分中的代码是我第一次尝试的代码,但这在setsourcedata行上给了我一个object_global failed error的方法范围。我希望代码跳过空单元格并继续通过mydatatest变量,直到它到达末尾。但是,实际输出在第一个空单元格处停止Excel 如何跳过某个范围内的空单元格以用作散点图的范围?,excel,vba,Excel,Vba,我是VBA新手,尝试动态选择散点图所需的数据。我正在尝试跳过“a”列中有空白的任何行,以便散点图是连续的 注释部分中的代码是我第一次尝试的代码,但这在setsourcedata行上给了我一个object_global failed error的方法范围。我希望代码跳过空单元格并继续通过mydatatest变量,直到它到达末尾。但是,实际输出在第一个空单元格处停止 Set mydatatest = ActiveWorkbook.Sheets("Data - PLC").Range("A3:A94"
Set mydatatest = ActiveWorkbook.Sheets("Data - PLC").Range("A3:A94")
'Set mydata = ActiveWorkbook.Sheets("Data - PLC").Range("A2:C2")
Set mydata = ActiveWorkbook.Sheets("Data - PLC").Range("A2")
For Each mydatapoint In mydatatest
If IsEmpty(mydatapoint) = False Then
'Set mydata = Union(mydata, Range(mydatapoint, mydatapoint.Offset(0, 2)))
Set mydata = Union(mydata, mydatapoint)
End If
Next mydatapoint
ActiveWorkbook.Sheets("Report").Select
Set cht1 = Sheet1.ChartObjects.Add(10, 365, 275, 200)
With cht1.Chart
.ChartType = xlXYScatterLinesNoMarkers
.SeriesCollection.Add Source:=Range(mydata, mydata.Offset(0, 2))
'.SetSourceData Source:=Range(mydata)
End With
错误在
中。SetSourceData:=范围(mydata)
。它应该是。SetSourceData Source:=myData
myData
已声明为Range()
。其余的都很好:
Option Explicit
Sub TestMe()
Dim myDataTest As Range
Dim myData As Range
Dim wks As Worksheet
Set wks = Worksheets(1)
Set myDataTest = wks.Range("A3:A94")
Set myData = wks.Range("A2")
Dim myDataPoint As Range
For Each myDataPoint In myDataTest
If Not IsEmpty(myDataPoint) Then
Set myData = Union(myData, myDataPoint)
End If
Next myDataPoint
Dim cht As Object
Set cht = wks.ChartObjects.Add(10, 365, 275, 200)
With cht.Chart
.ChartType = xlXYScatterLinesNoMarkers
.SeriesCollection.Add Source:=wks.Range(myData, myData.Offset(0, 2))
.SetSourceData Source:=myData
End With
End Sub
错误在
中。SetSourceData:=范围(mydata)
。它应该是。SetSourceData Source:=myData
myData
已声明为Range()
。其余的都很好:
Option Explicit
Sub TestMe()
Dim myDataTest As Range
Dim myData As Range
Dim wks As Worksheet
Set wks = Worksheets(1)
Set myDataTest = wks.Range("A3:A94")
Set myData = wks.Range("A2")
Dim myDataPoint As Range
For Each myDataPoint In myDataTest
If Not IsEmpty(myDataPoint) Then
Set myData = Union(myData, myDataPoint)
End If
Next myDataPoint
Dim cht As Object
Set cht = wks.ChartObjects.Add(10, 365, 275, 200)
With cht.Chart
.ChartType = xlXYScatterLinesNoMarkers
.SeriesCollection.Add Source:=wks.Range(myData, myData.Offset(0, 2))
.SetSourceData Source:=myData
End With
End Sub
顺便说一句,声明
Set myData=wks.Range(“A2”)
,只是为了有一些东西来联合它-Union(myData,myDataPoint)
有点好:)顺便说一句,声明Set myData=wks.Range(“A2”)
,就是为了有一些东西来联合它-Union(myData,myDataPoint)
有点好:)