"if then statement in VBA to fill cell with number"



"if then statement in VBA"我正在编写一个程序,如果变量达到一定值,则在excel中的单元格中放置一个数字。我知道如何声明变量,但我不知道如何告诉excel写x如果A1 =34。由于

向工作表添加侦听器以捕获范围。如果您只查看特定的列/行,您可以将范围设置为[A1],或者您可以添加如下所示的范围。

Private Sub Worksheet_Change(ByVal Target As Range)
    Dim KeyCells As Range
    Set KeyCells = Range("A:A")
    If Not Application.Intersect(KeyCells, Range(Target.Address)) _
           Is Nothing Then
        If Target.Value = "34" Then
            Cells(Target.Row, 2) = "X"
        Else
            Cells(Target.Row, 2) = ""
        End If
    End If
End Sub

如果你想要变量x而不是文字x,请将"x"更改为。

如果您的目标是将单元格的值更改为"X" (Literal X),并且您没有经常运行宏或每个单元格更改,则可以在每个有条件的单元格中使用以下函数(或类似函数)。

请参阅Microsoft对此主题的支持https://support.microsoft.com/en-us/kb/213612

不清楚您想要做什么,但假设您想将变量x的当前值写入单元格B2…如果单元格A1是34.

在上面的例子中,你可以这样做:
If [a1] = 34 then [b2] = x
Private Sub CommandButton1_Click()
Dim lr As Long
lr = Worksheets("New").Range("A" & Rows.Count).End(xlUp).Row
Worksheets("New").Range("T2").Formula = "=LEFT(B2,2)"
Worksheets("New").Range("T2").AutoFill Destination:=Worksheets("New").Range("T2:T" & lr)
Worksheets("New").Range("U2").Formula = "=(T2&0&0)"
Worksheets("New").Range("U2").AutoFill Destination:=Worksheets("New").Range("U2:U" & lr)
Worksheets("New").Range("V2").Formula = "=IF(AND(a2=A1,U2=U1),"",A2")"  (HOW TO AUTO FILL THIS FORMULA IN A CELL)
Worksheets("New").Range("V2").AutoFill Destination:=Worksheets("New").Range("V2:V" & lr)
End Sub

最新更新