gpt4 book ai didi

vba - 如何在 Excel VBA 中使用 OR 和空单元格创建 IF 语句

转载 作者:行者123 更新时间:2023-12-02 19:21:46 25 4
gpt4 key购买 nike

我正在尝试在 VBA 脚本中创建 IF 语句。它最终想要实现的是,在满足 IF 语句的情况下,将内容从一张表(“数据库”)复制到另一张表(“搜索”)。

该脚本首先根据“搜索”工作表的单元格“E5”和“E7”上的用户输入定义变量(“国家/地区”、“类别”)。它还定义了 If 语句运行的最后一行,直到该行:

country = Sheets("Search").Range("E5").Value
category = Sheets("Search").Range("E7").Value
finalrow = Sheets("Database").Range("A200000").End(xlUp).Row

此后,脚本建立条件:如果输入的值(在单元格“国家”和“类别”中)与“数据库”工作表单元格上的内容匹配,则应复制该工作表上的值到“搜索”表:

For i = 2 To finalrow
If Sheets("Database").Cells(i, 1) = country And _
Sheets("Database").Cells(i, 3) = category Then
With Sheets("Database")
.Range(.Cells(i, 1), .Cells(i, 9)).Copy
End With
Sheets("Search").Range("B600").End(xlUp).Offset(1, 0).PasteSpecial xlPasteFormulasAndNumberFormats
End If
Next I

我想使用 OR 语句向 IF 语句添加附加条件。我想这样做,以便如果用户没有填写“类别”单元格,这些值仍然会从一张纸复制到另一张纸。在代码方面,我添加了 ** 之间的部分,但它不起作用:

For i = 2 To finalrow
If Sheets("Database").Cells(i, 1) = country And _
Sheets("Database").Cells(i, 3) = category **Or category = ""** Then
With Sheets("Database")
.Range(.Cells(i, 1), .Cells(i, 9)).Copy
End With
Sheets("Search").Range("B600").End(xlUp).Offset(1, 0).PasteSpecial xlPasteFormulasAndNumberFormats
End If
Next i

除此之外,一切都很顺利。你知道我可能做错了什么吗?谢谢!

最佳答案

如果Or给你带来了问题,我会完全避免它。在 "" 中添加空格实际上是在寻找空格作为值,如果您的意思是让它为空,请使用 ""IsEmpty(Category):

For i = 2 To finalrow
If Category = "" Then

If Sheets("Database").Cells(i, 1) = country Then

With Sheets("Database")
.Range(.Cells(i, 1), .Cells(i, 9)).Copy
End With
Sheets("Search").Range("B600").End(xlUp).Offset(1, 0).PasteSpecial xlPasteFormulasAndNumberFormats

End If

Else

If Sheets("Database").Cells(i, 1) = country And _
Sheets("Database").Cells(i, 3) = Category Then

With Sheets("Database")
.Range(.Cells(i, 1), .Cells(i, 9)).Copy
End With
Sheets("Search").Range("B600").End(xlUp).Offset(1, 0).PasteSpecial xlPasteFormulasAndNumberFormats

End If

Next i

关于vba - 如何在 Excel VBA 中使用 OR 和空单元格创建 IF 语句,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40658121/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com