-2
您好我有一个有效的范围对象,但我得到的对象所需错误检查,如果对象为空,但仍然得到错误
Dim row As Integer
Dim col As Integer
If Not rng Is Nothing Then
row = rng.row
col = rng.Column
End If
它进入,如果但(组行= rng.row)线得到错误
整个代码是这样的:
Dim str() As String
str = GetArray(ActiveSheet.Range("A3"))
Dim element As Variant
Dim rng As Range
Set rng = Range("D3")
For Each element In str
With ActiveSheet.QueryTables.Add(Connection:= _
element, _
Destination:=rng)
.Name = "technicals_1"
.FieldNames = True
.RowNumbers = False
.FillAdjacentFormulas = False
.PreserveFormatting = True
.RefreshOnFileOpen = False
.BackgroundQuery = True
.RefreshStyle = xlInsertDeleteCells
.SavePassword = False
.SaveData = True
.AdjustColumnWidth = True
.RefreshPeriod = 0
.WebSelectionType = xlAllTables
.WebFormatting = xlWebFormattingNone
.WebPreFormattedTextToColumns = True
.WebConsecutiveDelimitersAsOne = True
.WebSingleBlockTextImport = False
.WebDisableDateRecognition = False
.WebDisableRedirections = False
.Refresh BackgroundQuery:=False
End With
Range(Cells(rng.row, rng.Column), Cells(rng.row + 70, rng.Column + 1)).Select
Selection.Copy
rng.Offset(0, 2).Select
Selection.PasteSpecial Paste:=xlPasteAll, Operation:=xlNone, SkipBlanks:= _
False, transpose:=True
Range(Cells(rng.row, rng.Column), Cells(rng.row + 70, rng.Column + 1)).Select
Selection.QueryTable.Delete
Selection.Delete Shift:=xlToLeft
/* AFTER THIS LINE I GET OBJECT REQUIRED ERROR */
Range(Cells(rng.row, rng.Column), Cells(rng.row, rng.Column + 70)).Select
Selection.Delete Shift:=xlUp
Set rng = rng.Offset(1, 0)
Next element
End Sub
我已经编辑它,请再读一遍 请阅读我输入此评论的部分:
/*此行后,我得到对象必需的错误*/
我该怎么办? 谢谢
你刚刚删除了范围,所以你不能引用它。你知道这是D3,所以使用行号/列号。 – Rory 2014-09-19 12:59:32
那么我应该怎么做才能避免 – 2014-09-19 13:01:54
请帮我.. – 2014-09-19 13:12:47