1

列 A を見て、列 A のセルが空白でない限り、列 B の対応するセルが特定の値に等しいコードを探しています。

したがって、セル A1 <> "" の場合、セル B1.Value = "MyText" そして、列 A のセルが空白または空になるまで繰り返します。

もう少し明確にするために、ここで尋ねられ、回答されたさまざまなループの質問に目を通しました。彼らはいくらか役に立ちました。ただし、列 A の各セルが空白ではなく、列 B の対応するセルに指定したテキストを追加することを確認するために、列 A を通過するループを取得する方法がわかりません。

また、これは VBA マクロの一部である必要があり、=IF などのセル式の一部ではない

4

4 に答える 4

4

別の方法 (VBA で数式を使用する)。これも最短のVBAコードだと思いますか?

Sub Sample()
    Dim ws As Worksheet
    Dim lRow As Long

    Set ws = ThisWorkbook.Sheets("Sheet1")

    With ws
        lRow = .Range("A" & .Rows.Count).End(xlUp).Row

        .Range("B1:B" & lRow).Formula = "=If(A1<>"""",""My Text"","""")"
        .Range("B1:B" & lRow).Value = .Range("B1:B" & lRow).Value
    End With
End Sub
于 2013-10-15T05:42:44.460 に答える
2

これを行うより簡単な方法は次のとおりです。

Sub populateB()

For Each Cel in Range("A1:A100")
    If Cel.value <> "" Then Cel.Offset(0, 1).value = "Your Text"
Next

End Sub
于 2013-10-14T20:18:59.553 に答える
1

関数 IF を使用します。

=IF ( logical_test, value_if_true, value_if_false )

于 2013-10-14T20:03:25.850 に答える