在一个单元格中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