百科知识

VBA代码问题我写了一段VBA代码(见附件),目的是:通过改变C

2011-02-15 14:45:09信***
我写了一段VBA代码(见附件),目的是:通过改变C3单元格数据来执行一个命令,使C3中输入“1”时C3中显示“语文”,在C3中输入“2”时C3中显示“数学”,…… 最终目的是学习这种代码怎样写! 恳求VBA大师替我改一改。VBA代码问题我写了一段VBA代码(见附件),目的是:通过改变C3单元格数据来执行一个命令,使C3中输入“1”时C3中显示“语文”,在C3中输入“2”时C3中显?

最佳回答

  • Private Sub Worksheet_Change(ByVal Target As Range) If Target.Address <> Cells(3, 3).Address Then Exit Sub arr = Array("语文", "数学", "英语", "科学", "思品") If Target.Value Like "[1-5]" Then Cells(3, 3) = arr(Target.Value - 1) End Sub
    2011-02-16 08:44:11
  • Private Sub Worksheet_Change(ByVal Target As Range) If Target.Column = 3 And Target.Row >= 3 And Target.Row <= 10 Then If Target.Value = 1 Then Target.Value = "语文" If Target.Value = 2 Then Target.Value = "数学" If Target.Value = 3 Then Target.Value = "英语" If Target.Value = 4 Then Target.Value = "科学" If Target.Value = 5 Then Target.Value = "思品" End If End Sub
    2011-02-16 09:40:00
  •   If Target。Range = Cells(3, 3) Then 语句错误 应更改为: If Target。Row = 3 And Target。Column = 3 Then 补充; 如果是改变一个单元格区域的数据,可以使用if语句确定区间, 例如:C3:H6区间 Private Sub Worksheet_Change(ByVal Target As Range) If Target。
      Row > 2 And Target。Row 2 And Target。Column < 9 Then If Target = 1 Then Target = "语文" If Target = 2 Then Target = "数学" If Target = 3 Then Target = "英语" If Target = 4 Then Target = "科学" If Target = 5 Then Target = "思品" End If End Sub 当然,后面的赋值语句需然可用,但不优。
       可以改为Select Case 语句,或按m²+m³老师的办法。
    2011-02-15 20:08:52
  • 很赞哦! (145)