当单元格值变化时如何获取msgbox exel vba

时间:2017-09-19 09:36:05

标签: excel vba excel-vba excel-2010 word-vba

我有一个单元格“A1”,它会改变“1到150”之间的整数值 假设“A1”cell.Value =“1”那么我应该得到包含其A1值为“1”的msgbox。 和  如果“A1”单元格值=“2”那么我应该得到包含其A1值的msgbox为“2”

类似地,如果A1值是3,4,5等等,那么我应该在msgbox中获得相应的单元格值 我写了一个代码,如下所示。但如果代码语句范围从“1到150”,则写入是一项艰巨的任务 任何人都可以最小化这个代码添加变量...提前谢谢你

sub variable()    
    If Range("a1").Value = 1 Then
        MsgBox Worksheets("Sheet1").Range("A1").Value
    Else
        If Range("a1").Value = 2 Then
           MsgBox Worksheets("Sheet1").Range("A1").Value
        Else
           If Range("a1").Value = 3 Then
               MsgBox Worksheets("Sheet1").Range("A1").Value 
           End If
        End If
    End If    
End Sub

3 个答案:

答案 0 :(得分:0)

这是使用<style name="AppTheme.Fullscreen"> <item name="windowActionBar">false</item> <item name="windowNoTitle">true</item> <item name="android:windowFullscreen">true</item> </style>

重写代码的方法
Select Case

答案 1 :(得分:0)

I can suggest you to write this code :

Private Sub Worksheet_Change(ByVal Target As Range)
    If (Target.Address = "$A$1") Then
        If (IsNumeric(Target.Value)) Then
            If (Target.Value >= 1 And Target.Value <= 150) Then
                MsgBox Target.Value
            End If
        End If
    End If
End Sub

答案 2 :(得分:0)

如果您希望每次在单元格A1中输入不同的值时收到消息,请使用以下代码。

Private Sub Worksheet_Change(ByVal Target As Range)
Dim DivRg As Range
Set DivRg = Range("A1")
Set DivRg = Application.Intersect(Target, DivRg)

If DivRg Is Nothing Then Exit Sub
MsgBox Target
Set DivRg = Nothing

End Sub

请注意,您应将此代码放在Worksheet模块中,而不是regular模块中。