Vba 使文本输出应用于整列

Vba 使文本输出应用于整列,vba,excel,Vba,Excel,我对使用VBA非常陌生,我有一个问题,我觉得这不是一件很难实现的事情 Columns("A:C").Select If ActiveCell.FormulaR1C1 = "194511" Then Range("B1:B1000").Select ActiveCell.FormulaR1C1 = "Base Reclamation" Range("C1:C1000").Select ActiveCell.FormulaR1C1 = "BaseRec Recont ED/LD/ME" End If

我对使用VBA非常陌生,我有一个问题,我觉得这不是一件很难实现的事情

Columns("A:C").Select
If ActiveCell.FormulaR1C1 = "194511" Then
Range("B1:B1000").Select
ActiveCell.FormulaR1C1 = "Base Reclamation"
Range("C1:C1000").Select
ActiveCell.FormulaR1C1 = "BaseRec Recont ED/LD/ME"
End If
在文本中,我相信我在a列的任意位置输入了一个值,它应该输出显示的两个文本选项,但事实并非如此。它只显示第一行中的文本,但如果我将“B1:B1000”更改为“B2”,它将在所需的框中输出数据

如果有人能帮助我,我将不胜感激

对于要处理的工作表,这需要进入:

Private Sub Worksheet_Change(ByVal Target As Range)
    If Target.Cells.Count = 1 And Not Intersect(Target, Range("A1:A1000")) Is Nothing Then
        If Target.Text = "194511" Then
            Application.EnableEvents = False
            Target.Offset(0, 1).Resize(1, 2).Value = Array("Base Reclamation", _
                "BaseRec Recont ED/LD/ME")
            Application.EnableEvents = True
        End If
    End If
End Sub
或者,在普通代码模块中:

[B1:C1000] = [IF($A1=194511,CHOOSE(COLUMN()-1,{""Base Reclamation"",""BaseRec Recont ED/LD/ME""}),"""")]
这需要进入要处理的工作表的中:

Private Sub Worksheet_Change(ByVal Target As Range)
    If Target.Cells.Count = 1 And Not Intersect(Target, Range("A1:A1000")) Is Nothing Then
        If Target.Text = "194511" Then
            Application.EnableEvents = False
            Target.Offset(0, 1).Resize(1, 2).Value = Array("Base Reclamation", _
                "BaseRec Recont ED/LD/ME")
            Application.EnableEvents = True
        End If
    End If
End Sub
或者,在普通代码模块中:

[B1:C1000] = [IF($A1=194511,CHOOSE(COLUMN()-1,{""Base Reclamation"",""BaseRec Recont ED/LD/ME""}),"""")]

那么,在将其插入我的工作表模块后,一切都应该顺利运行?我觉得我的Range()语法可能是错误的或其他什么。
ActiveCell
指的是当前处于活动状态的一个(单个)单元格。老实说,对于你需要的东西,一个公式是最合适的。那么,在将它插入我的工作表模块后,一切都应该顺利运行?我觉得我的Range()语法可能是错误的或其他什么。
ActiveCell
指的是当前处于活动状态的一个(单个)单元格。老实说,对于你需要的东西,一个公式是最合适的。