返回

Excel VBA工作表选择更改事件程序

Excel技巧





**1. 程序简介** 

```vba
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
    ' 当工作表中选定区域发生更改时触发此事件
    MsgBox "您已选择区域:" & Target.Address
End Sub

这个程序是一个工作表事件程序,当工作表中选定区域发生更改时,它将触发SelectionChange事件,并执行MsgBox语句,显示一个消息框,显示已选择的区域地址。

2. 程序详解

  • Target范围 :Target参数是一个Range对象,它表示当前选定的区域。可以使用Target对象的Address属性获取选定区域的地址,也可以使用Target对象的Cells方法获取选定区域中的单元格。

  • SelectionChange事件 :SelectionChange事件是在工作表中选定区域发生更改时触发的。当用户使用鼠标或键盘选择工作表中的区域时,就会触发这个事件。

  • 选择区域 :选定区域是指工作表中被选中的单元格或区域。选定区域可以是一个或多个单元格,也可以是整个工作表。

  • Cells方法 :Cells方法可以获取工作表中的单元格。可以使用Cells方法来获取选定区域中的单元格。

  • Address属性 :Address属性可以获取单元格或区域的地址。可以使用Address属性来获取选定区域的地址。

3. 程序示例

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
    Dim i As Long, j As Long

    ' 循环选定区域中的单元格
    For i = 1 To Target.Rows.Count
        For j = 1 To Target.Columns.Count
            ' 获取当前单元格的地址
            Dim cellAddress As String
            cellAddress = Target.Cells(i, j).Address

            ' 获取当前单元格的值
            Dim cellValue As Variant
            cellValue = Target.Cells(i, j).Value

            ' 在消息框中显示当前单元格的地址和值
            MsgBox "单元格地址:" & cellAddress & vbCrLf & _
                "单元格值:" & cellValue
        Next j
    Next i
End Sub

这个程序也是一个工作表事件程序,当工作表中选定区域发生更改时,它将触发SelectionChange事件,并执行循环语句,遍历选定区域中的所有单元格,并使用MsgBox语句显示每个单元格的地址和值。