请教高手:在excel的工作表sheet1里 A2:D10 这个range里,如何实现当在这个range的任何一个单元格里输入数据时出现 msgbox" ok "的提示??
谢谢~

解决方案 »

  1.   


    Private Sub Worksheet_Change(ByVal Target As Range)
        If Target.Row >= 2 And Target.Row <= 10 And Target.Column >= 1 And Target.Column <= 4 Then
            MsgBox "OK"
        End If
    End Sub
      

  2.   

    我是这样写的:     Dim rng As Range
        
        Set rng = Application.Intersect([A2:D10], Target)
        
        If Not rng Is Nothing Then
            MsgBox "ok"
        End If但是在我这个工作表里有个组合框combobox1,当我选择组合框里任何一条数据时都无穷无尽的弹出 MsgBox "ok"
    对话框,不知道错误出在哪里...
      

  3.   

    都不知道你在哪这么用,是不是用Excel里的 Visual Basic 编辑器弄的?
    如果是应该在Sheet1的某个事件中执行,怎么会无穷无尽的弹出 MsgBox "ok" ?
      

  4.   

    在Sheet1中有个组合框combobox1在VBE的Sheet1中写:Private Sub Worksheet_Change(ByVal Target As Range)
        Dim rng As Range
        
        Set rng = Application.Intersect([A2:D10], Target)
        
        If Not rng Is Nothing Then
            MsgBox "ok"
        End If
    End Sub并且在组合框的change方法里有简单的语句,结果在sheet1的组合框里一选择某条记录时就出现 “OK”,按"ok"对话框上的确定按钮后又弹出“OK”对话框,无穷尽的下去...