Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/vba/16.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Excel:如何使用VBA检查单元格是否为空?_Excel_Vba - Fatal编程技术网

Excel:如何使用VBA检查单元格是否为空?

Excel:如何使用VBA检查单元格是否为空?,excel,vba,Excel,Vba,如何通过VBA检查具有特定信息的单元格是否为空 例如: 如果A:A=“产品特殊”和B:B为空,则 C1=“特殊产品” 此外,如何对范围上的每个循环使用,如何在另一个单元格中返回值?站点使用方法isEmpty() 编辑:在url无效之前从站点抓取的内容 Worksheets("Sheet1").Range("A1").Sort _ key1:=Worksheets("Sheet1").Range("A1") Set currentCell = Worksheets("Sheet1").R

如何通过VBA检查具有特定信息的单元格是否为空

例如:

如果A:A=“产品特殊”和B:B为空,则

C1=“特殊产品”

此外,如何对
范围上的每个
循环使用
,如何在另一个单元格中返回值?

站点使用方法
isEmpty()

编辑:在url无效之前从站点抓取的内容

Worksheets("Sheet1").Range("A1").Sort _
    key1:=Worksheets("Sheet1").Range("A1")
Set currentCell = Worksheets("Sheet1").Range("A1")
Do While Not IsEmpty(currentCell)
    Set nextCell = currentCell.Offset(1, 0)
    If nextCell.Value = currentCell.Value Then
        currentCell.EntireRow.Delete
    End If
    Set currentCell = nextCell
Loop
在第一步中,Sheet1第一列中的数据将被排序。
在第二步中,将删除所有具有相同数据的行。

您可以使用
IsEmpty()
函数,如下所示:

...
Set rRng = Sheet1.Range("A10")
If IsEmpty(rRng.Value) Then ...
您还可以使用以下命令:

If ActiveCell.Value = vbNullString Then ...
IsEmpty()
将是最快的检查方法

IsNull();它不是在细胞中天生产生的

此外,您还可以通过以下方式检查单元格:

count()

counta()


Len(range(“BCell”).Value)=0

您给IsEmpty()的是范围,而不是值。它返回true或false,因此您需要一个“if”语句。你需要写:如果我是空的(rRng),那么。。。我正在编辑并更正答案请注意,如果ActiveCell.Value=vbNullString
中的单元格包含错误,如#N/A,则将失败!最好使用IsEmpty(rRang)@pashute我已经提交了这个答案的编辑,包括你们两个提到的信息。