在一个单元格中input数据(字母)时,用数字预填某个单元格
我试图找出一个VBA代码,当我在它旁边的一个单元格中input“X”时,将允许我用一个数字预先填充某个单元格。 我无法弄清楚,如果我应该使用范围,或插入,或什么。
我不能使用button,并为它分配一个macros,因为我需要看看哪个单元格放入了“X”。
这是我到目前为止,但它正在使用macros分配给它的button:490正在input到E9中,并单击macrosbutton后切换到F9:
Sub eightNineSpring() Range("E9").Select ActiveCell.FormulaR1C1 = "490" Range("F9").Select End Sub
作为自动化放在工作表中,你需要它:
Private Sub Worksheet_Change(ByVal Target As Range) If Target.Column = 6 And Target.Count = 1 Then If Target.Value = "x" Then Target.Offset(0, -1).Value = 490 End If End Sub
或者如E1中的公式那样抄下来
=IF(F1="x",490,"")
但请记住,删除“x”(或用不同的东西replace它):
该function将再次清空490,而更改事件不会
使用更改事件进行更改时,应closuresApplication.Events
以避免代码以recursion方式调用。
下面的代码会在E1:E10中更新一个或多个单元格。
Private Sub Worksheet_Change(ByVal Target As Range) Dim rng1 As Range Dim rng2 As Range Set rng1 = Intersect(Target, Range("F1:F10")) If rng1 Is Nothing Then Exit Sub Application.EnableEvents = False For Each rng2 In Range If rng2.Value = "x" Then rng2.Offset(0, -1).Value = 490 Next Application.EnableEvents = True End Sub