在我的工作簿中,我有一个包含表单名称列表的工作表,每个表单名称位于单独的行中。对于这些行中的每一行,都有一个单独的工作表,其表单名称包含有关该表单的信息。
我想包括这个功能:
当用户从第一个工作表中删除一行时,相应的工作表也会被删除。
我最初的方法尝试使用 Worksheet_Change 事件触发代码以从已删除的行中捕获表单名称,然后删除具有该名称的工作表,但我无法捕获该数据,因为该行已被删除。
这个功能可以吗?谢谢。
用于selection change
获取它们所在行的工作表名称,以及用于删除工作表的更改事件。
像这样的东西:
Option Explicit
Dim SheetName As String
Private Sub Worksheet_Change(ByVal Target As Range)
If SheetName = "" Then Exit Sub
If Target.Rows.Count > 1 Then Exit Sub
If Cells(Target.Row, 1) = "" Then Exit Sub 'Inserted a row?
If Cells(Target.Row, 1) <> SheetName Then
Worksheets(SheetName).Delete
End If
End Sub
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Target.Rows.Count = 1 Then
SheetName = Cells(Target.Row, 1)
Else
SheetName = ""
End If
End Sub
我假设您的工作表名称在第一列 -Cells(
如果不是,请更改参考中的 1