VBA - 如果A列中的单元格不为空,则B列等于

Bob*_*ett 1 excel vba excel-vba

我正在寻找一些代码来查看A列,只要A列中的单元格不为空,那么B列中的相应单元格将等于特定值.

因此,如果Cell A1 <>""则Cell B1.Value ="MyText"并重复,直到A列中的单元格为空或空.

为了进一步澄清,我已经查看了这里提出并回答的各种循环问题.他们有点帮助.但是,我不清楚如何让循环通过A列来验证A列中的每个单元格是否为空白并且在B列的相应单元格中添加一些我指定的文本.

此外,这将需要是VBA宏的一部分,而不是像IF这样的单元格公式的一部分

Por*_*ner 6

如果你真的想要一个vba解决方案,你可以遍历这样的范围:

Sub Check()
    Dim dat As Variant
    Dim rng As Range
    Dim i As Long

    Set rng = Range("A1:A100")
    dat = rng
    For i = LBound(dat, 1) To UBound(dat, 1)
        If dat(i, 1) <> "" Then
            rng(i, 2).Value = "My Text"
        End If
    Next
End Sub
Run Code Online (Sandbox Code Playgroud)

*编辑*

您可以像这样循环遍历范围,而不是使用变量:

Sub Check()
    Dim rng As Range
    Dim i As Long

    'Set the range in column A you want to loop through
    Set rng = Range("A1:A100")
    For Each cell In rng
        'test if cell is empty
        If cell.Value <> "" Then
            'write to adjacent cell
            cell.Offset(0, 1).Value = "My Text"
        End If
    Next
End Sub
Run Code Online (Sandbox Code Playgroud)