2016-03-03 81 views
0

我想創建一個新的工作表(從屬),其名稱與(主)工作表中的單元格A5:A50中所輸入的名稱一樣,並將(模板)工作表的內容複製到新創建的奴隸工作表。我有一個如下所示的程序,與我的要求非常吻合,但1)它沒有采用新的值,我編輯並創建了一個新的從屬範圍,即它不是動態的,並且2)我想在每次進入時運行宏指定範圍內的值。基於Excel中的列表自動創建工作表

幫助將高度讚賞

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

歡迎來到SO!查看['Worksheet_Change'](https://msdn.microsoft.com/en-us/library/office/ff839775.aspx)事件。它將有助於你的兩點觀點(事實上它們看起來都是一樣的)。 –

回答

0

將這個代碼中的「大師」表,每次更改的範圍(「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 
相關問題