在Range – VBA中找不到值时出错

我已经创build了VBA代码来对一个股票列表进行sorting,读取列N的内容,并将任何匹配项(在本例中为“KS”)的行复制到一个单独的选项卡中。

我的代码正确运行,除非在库存表中找不到实例。 “错误是91 – 对象variables或块variables未设置”我已经尝试了如果不是没有成功的变化。 我相信这是从根本上简单,但答案暗示我。

build议将不胜感激。

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 

如果没有匹配的值, MyRangeNothing ,所以试试这个

新队

 If Not MyRange1 Is Nothing Then MyRange1.Copy Sheets("KS").[a1] 

代替这个

删除线

 MyRange1.Select Selection.Copy Sheets("KS").Select Range("A1").Select ActiveSheet.Paste