微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

VBA + 宏 + 对于每个单元格条件错误

如何解决VBA + 宏 + 对于每个单元格条件错误

我想就以下代码寻求帮助。

一个“IF”条件运行良好,但“ELSE”条件在其中我想跳过第一个条件的复制和粘贴功能并继续循环不起作用并给我一条错误消息,看起来像这:

enter image description here

先谢谢你!给你更多的力量!

Sub IF_Loop3()

    Dim cell As Range
    For Each cell In Range("TablePrac[Animals]")
        If cell.Value <> "NULL" Then
            cell.Offset(0,-3).Value = cell.Value
            
        Else
        If cell.Value = " " Then
        Exit For
        
        End If
        
    Next cell

End Sub

解决方法

For Each cell In Range("TablePrac[Animals]")
        If cell.Value <> "NULL" Then
            cell.Offset(0,-3).Value = cell.Value
            
        Else If cell.Value = " " Then
             Exit For
             End If ' If cell.Value = " "
        End If 'If cell.Value <> "NULL" <= you forgot this one!
    Next cell
,

基于您的解释的新代码:

Sub IF_Loop3()
    Dim cell As Range
    For Each cell In Range("TablePrac[Animals]")
        If (cell.Value <> "NULL") and (cell.Value <> " ") Then
            cell.Offset(0,-3).Value = cell.Value
        End If
    Next cell
End Sub

执行复制/粘贴有两个条件:value <> "NULL"value <> " "。您只需将这两个条件放入 If 测试中,即可同时满足这两个条件。

如果您编写 Exit For,则意味着循环将中断,您的代码将继续执行循环之后的第一行,而不是循环的下一次迭代。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。