Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/excel/24.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/vba/14.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 循环遍历范围并查找空单元格_Excel_Vba_Is Empty - Fatal编程技术网

Excel 循环遍历范围并查找空单元格

Excel 循环遍历范围并查找空单元格,excel,vba,is-empty,Excel,Vba,Is Empty,我对以下代码有问题。我希望它在一个范围内循环(AK2直到数据结束),然后在任何时候它发现一个空单元格,它就会将其值更改为应收账款。它没有这样做,我也没有收到任何错误通知。我的猜测是,我在设置变量时出错了: Option Explicit Private Sub Leere() Dim rng As range Dim rcell As range Dim WS As Worksheet Set WS = Worksheets("Sheet2") Set rng = WS.range("A

我对以下代码有问题。我希望它在一个范围内循环(AK2直到数据结束),然后在任何时候它发现一个空单元格,它就会将其值更改为应收账款。它没有这样做,我也没有收到任何错误通知。我的猜测是,我在设置变量时出错了:

Option Explicit

Private Sub Leere()

Dim rng As range
Dim rcell As range
Dim WS As Worksheet

Set WS = Worksheets("Sheet2")

Set rng = WS.range("AK2", range("AK2").End(xlDown))

For Each rcell In rng
    If rcell.Value = " " Then
            rcell.Value = "Accounts Receivable"
   End If
Next
End Sub
有什么想法吗?

使用
SpecialCells()

使用
SpecialCells()


您应该能够用以下内容替换空(无公式)单元格:

Set ws = ThisWorkbook.Worksheets("Sheet2")

Set rng = ws.Range("AK2", ws.Cells(ws.Rows.Count, "AK").End(xlUp))

rng.Replace "", "Accounts Receivable", xlWhole 

另一个非VBA选项可以是空白单元格的条件格式。单元格值仍然为空,但显示的文本更改将是动态的。

您应该能够用以下内容替换空(无公式)单元格:

Set ws = ThisWorkbook.Worksheets("Sheet2")

Set rng = ws.Range("AK2", ws.Cells(ws.Rows.Count, "AK").End(xlUp))

rng.Replace "", "Accounts Receivable", xlWhole 

另一个非VBA选项可以是空白单元格的条件格式。单元格值仍然为空,但显示的文本更改将是动态的。

要找到一个空的do.value=“”而不是.value=“”(去掉空格)哇,就是这样!ThanksHow它能与isempty(rcell)一起工作吗?你是指真正的空白单元格还是包含零长度字符串的单元格?如果是前者,则应使用
Set rng=WS.range(“AK2”,WS.Cells(Rows.Count,“AK”).End(xlUp))
。您当前使用的
xlDown
将在第一个真正空白的单元格上停止。您最好使用
Set rng=ws.range(“AK2”,ws.Cells(ws.Rows.Count,“AK”).End(xlUp))
找到一个空白do.value=“”,而不是.value=“”(去掉空格)哇,仅此而已!ThanksHow它能与isempty(rcell)一起工作吗?你是指真正的空白单元格还是包含零长度字符串的单元格?如果是前者,则应使用
Set rng=WS.range(“AK2”,WS.Cells(Rows.Count,“AK”).End(xlUp))
。您当前使用的
xlDown
将在第一个真正空白的单元格上停止。您最好使用
Set rng=ws.range(“AK2”,ws.Cells(ws.Rows.Count,“AK”).End(xlUp))
作为其他人的旁注,
SpecialCells
如果找不到单元格,则会导致错误,但可选的
On error Resume Next
可用于忽略这些单元格cases@Slai,精细添加。Thanks@Urumita,你通过了吗?作为对其他人的旁注,
特殊单元格
如果没有找到单元格,则会导致错误,但可使用“错误恢复下一步”中的可选
来忽略这些单元格cases@Slai,精细添加。Thanks@Urumita,你熬过了吗?