excel - 在范围中找不到值时出错 - VBA

标签 excel vba

我创建了 VBA 代码来对 Stock 列表进行排序,读取 N 列的内容并将任何匹配项(在本例中为“KS”)的行复制到单独的选项卡中。

我的代码运行正常,除非在 Stock 表中找不到任何实例。
“错误是 91 - 对象变量或未设置 block 变量”
我尝试了 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

最佳答案

MyRangeNothing如果没有匹配的值,那么试试这个

新队

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

代替这个

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

关于excel - 在范围中找不到值时出错 - VBA,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23653931/

相关文章:

excel - 在excel中突出显示重复的 "Q&A"但不是第一个

excel - 使用匹配的数字前缀添加新工作表

arrays - 使用特定工作表名称的数组来更新单元格值VBA

vba - 将形状颜色与单元格颜色匹配 - vba

excel - 如何计算Excel中两张表之间不重复值的数量

Excel公式对特定货币列进行求和

excel - 自动筛选以查找空白单元格

java - 如何更改特定单元格apache poi 3.9的字体颜色

forms - Microsoft Access 文本框对不明确日期的解释

vba - 需要改变这个宏中的一点小东西