我想创建一个新工作表(Slave),其名称在(主)工作表的单元格A5:A50中输入,并在新创建的从工作表中复制(模板)工作表的内容。我有一个程序如下,它与我的要求非常匹配,但1)它没有采取我编辑的新值,并在提供的范围内创建一个新的奴隶,即它不是动态的2)我想每次进入时运行宏指定范围内的值。
帮助将受到高度赞赏
Sub CreateAndNameWorksheets()
Dim c As Range
Application.ScreenUpdating = False
For Each c In Sheets("Master").Range("A5:A50")
Sheets("Template").Copy After:=Sheets(Sheets.Count)
With c
ActiveSheet.Name = .Value
.Parent.Hyperlinks.Add Anchor:=c, Address:="", SubAddress:= _
"'" & .Text & "'!A1", TextToDisplay:=.Text
End With
Next c
Application.ScreenUpdating = True
End Sub
答案 0 :(得分:0)
将此代码放入" Master"工作表,每次更改范围中的单元格(" A5:A50")时,它将运行所需的代码
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If (Target.Parent.Name = Range("A1:A50").Parent.Name) Then
Dim ints As Range
Set ints = Application.Intersect(Target, Range("A5:A50"))
If (Not (ints Is Nothing)) Then
'insert code here
End If
End If
End Sub