繁体   English   中英

检查空单元格,如果同一行中的特定单元格有数据,则为这些空单元格分配一个值

[英]Check empty cells and if specific cells in same row has data then assign a value for those empty cells

我一直在想如果同一行中只有一些单元格有数据,是否有一个 VBA 方法来填充空单元格。 如屏幕截图所示,只有当 A、B 和 C 列的同一行中有数据时,我才希望 D 列中的空单元格填充例如“丢失的代理”。谢谢

在此处输入图像描述

我正在尝试下面的代码,但停止尝试将数据检查与在空单元格中应用数据分开。

Sub Missing_Agent()
Dim rng As Range
Set rng = Worksheet("Main Sheet").Range("A:D")

    For i = rng.Cells.Count To 1 Step -1
        If rng.Item(i).Value = "" And Not IsEmpty(rng.Item(i).Value) Then
            rng.Item(i).EntireRow.Delete
        End If
    Next i

End Sub

你非常接近,你需要通过有问题的主列循环。

Application.Sum(Range("A" & i & ":C" & i)) <> 0在循环期间对范围(Ai:Bi)求和。 &将代码的断开字符串与变量i连接起来,该变量在循环期间随着行号的变化而变化。 因此,每个循环都会从Range("A7:B7")变化到Range("A1:B1")

Sub Missing_Agent()
Dim rng As Range
Dim LastRow As Long

LastRow =  Worksheet("Main Sheet").Cells( Worksheet("Main Sheet").Rows.Count, "A").End(xlUp).Row
Set rng =  Worksheet("Main Sheet").Range("D1:D" & LastRow)

    For i = rng.Cells.Count To 1 Step -1
        If IsEmpty(rng.Item(i).Value) And Application.Sum(Range("A" & i & ":C" & i)) <> 0 Then
        rng.Item(i).Value = "missing Agent"
        End If
    Next i

End Sub

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM