标签:VBA,工作表事件
当你想要随着工作表变化而让Excel自动做一些事情的时候,工作表事件是最能帮助你的了。之前的文章中,介绍过很多与工作表事件相关的基础知识和应用案例,今天再来一个示例。
当某单元格中的值修改后,其所在的工作表名称也相应修改为该单元格中的值。
在工作表代码模块中,输入下面的代码:
Private Sub Worksheet_Change(ByVal Target As Excel.Range)
Const strNAMECELL As String = "A1"
Const strERROR As String = "在单元格中是无效的工作表名称"
Dim strSheetName As String
With Target
If Not Intersect(.Cells, Range(strNAMECELL)) Is Nothing Then
strSheetName = Range(strNAMECELL).Value
If Not strSheetName = "" Then
On Error Resume Next
Me.Name = strSheetName
On Error GoTo 0
If Not strSheetName = Me.Name Then _
MsgBox strERROR & strNAMECELL
End If
End If
End With
End Sub
代码中,以单元格A1中的数据为工作表名称,即用户在单元格A1中输入数据后,按下回车键,工作表名称即修改为单元格A1中的内容。你可以根据需要修改关联单元格为你想要的单元格。