我创建了VBA代码来对Stock列表进行排序,读取N列的内容并将任何匹配项目的行(在本例中为" KS")复制到一个单独的标签中。
我的代码运行正常,除非在Stock表格中找不到实例。 "错误是91 - 对象变量或没有设置块变量" 我尝试过If Not的变种但没有成功。我确信这是一个基本上简单的事情,但答案暗示了我。
建议将不胜感激。
Sub KS()
Dim MyRange, MyRange1 As Range
Sheets("Stock").Select
LastRow = Sheets("Stock").Range("K65536").End(xlUp).Row
Set MyRange = Sheets("Stock").Range("N1:N325" & LastRow)
For Each c In MyRange
If c.Value = "KS" Then
If MyRange1 Is Nothing Then
Set MyRange1 = c.EntireRow
Else
Set MyRange1 = Union(MyRange1, c.EntireRow)
End If
End If
Next
MyRange1.Select
Selection.Copy
Sheets("KS").Select
Range("A1").Select
ActiveSheet.Paste
End Sub
答案 0 :(得分:3)
MyRange
为Nothing
,请尝试使用
新行
If Not MyRange1 Is Nothing Then MyRange1.Copy Sheets("KS").[a1]
代替这个
删除行
MyRange1.Select
Selection.Copy
Sheets("KS").Select
Range("A1").Select
ActiveSheet.Paste