vba-for循环中的if else语句

约翰·蒂普顿

我想添加以下内容以删除包含0的行

    If Cells(intFile, "CU") = "0" Then           
        Sheet1.Rows(r).EntireRow.Delete    
    End If    

到下面的我的代码。

   If CDate(rst(3)) >= Date Then

       For intCount = 0 To rst.Fields.Count - 1
           strHold = strHold & rst(intCount).Value & "|"

当前在“单元格”上,ElseIf Cells(intFile, "CU") = "0" Then我得到了编译错误:未定义子函数或函数。我应该放些什么Cells呢?

我的参考:https : //msdn.microsoft.com/en-us/library/752y8abs.aspx

YowE3K

这里的问题是Visual Basic有很多“功能”,并且它们是不可互换的。

您的应用程序正在MSAccess中运行,它将具有特定于该环境的某些对象,功能等。Cells对象是专门适用于MS Excel环境的对象,因此Access VBA无法理解什么是Cells对象。

(并且您所引用的文档是关于VB.Net的语法的-但是,您正在查看的特定主题在所有这些不同版本的“ Visual Basic”中都视为相同。但是,确实在该网页中出现Then了一种If说法是在VB.Net可选关键字,而它在VBA,因此不会对即使是这样一个基本的一块编码的一个区别。)

如果您从更改代码

If CDate(rst(3)) >= Date Then
ElseIf Cells(intFile, "CU") = "0" Then
    Sheet1.Rows(r).EntireRow.Delete

成为

If CDate(rst(3)) >= Date And rst(98) <> 0 Then

我相信您会按照自己的意愿去做,即排除3今天之前有第4个字段(由于零基)的所有记录,并且排除第99个字段为0的所有记录。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章