Vba 使文本输出应用于整列
我对使用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
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
指的是当前处于活动状态的一个(单个)单元格。老实说,对于你需要的东西,一个公式是最合适的。