我对使用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”,它将在所需的框中输出数据。
如果有人能帮助我,我将不胜感激!
答案 0 :(得分:0)
这需要在Sheet module中找到您希望它处理的工作表:
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""}),"""")]