2016-04-28 78 views
0

基本上我想創建類似於索引的東西,我想將創建的每個錶鏈接到我命名爲Main的第一頁,嘗試記錄一些宏,然後使用它們但我意識到我不知道如何使用VB,因爲我不能使它工作,因爲我只有一點點的知識,我認爲我可以做一些事情。 編輯:我的想法是自動將我創建的頁面添加到索引(一列),每當我創建此類工作表時,而不是在完成所有工作表後創建索引。 試圖在我創建該頁面時將頁面鏈接到hiperlink,並在我從特定行中向某個單元格中鍵入內容後立即「創建」工作表。任何想法我怎麼能使它工作?這是我的兩個狡猾的嘗試。想在excel中自動創建工作表

Sub Sheetcreation() 
    If (Sheets.Add(After)) = True Then [ Main.Hyperlinks.Add Anchor:=Selection, Address:="", SubAddress:= _ 
    "Hoja1!A1", TextToDisplay:=(SheetName) ] [ Else [ ] ] 
End Sub 

Sub Sheetcreate() 
    Principal.Hyperlinks.Add Anchor:=Selection, Address:="", SubAddress:= _ 
    "Hoja1!A1", TextToDisplay:=(SheetName) 
End Sub 

在此先感謝傢伙,祝你有美好的一天。

+0

Debra Dagleish有很多關於超鏈接的信息。這裏有一些代碼可以實現你想要的功能:http://www.contextures.com/excelhyperlinkfunction.html#tocvba –

+0

謝謝!我會馬上檢查它。 –

回答

0

將這個代碼模塊中你希望你的鏈接,駐留在片:

Private Sub Worksheet_Change(ByVal Target As Range) 
    If Target.Column = 1 And Target.Value <> "" Then Call Module1.SheetCreation(Target.Value, Target.Item(1)) 
End Sub 

然後把該代碼添加的模塊:

Sub SheetCreation(n As String, r As Range) 
    ' Create the sheet 
    Worksheets.Add(After:=Worksheets(Worksheets.Count)).Name = n 
    r.Parent.Activate 

    ' Add hyperlink 
    r.Parent.Hyperlinks.Add _ 
     Anchor:=r, _ 
     Address:="", _ 
     SubAddress:="'" & n & "'!A1", _ 
     TextToDisplay:=n 
End Sub 

你會發現,如果您更改過程的名稱,或者如果您的模塊未命名爲「Module1」,則必須相應地更改Worksheet_Change中的代碼。

一旦添加了代碼並在需要時進行更改,您可以在所選工作表的A列中鍵入值。然後代碼將創建一個以您輸入的值命名的新工作表,然後創建指向該表的超鏈接。

+0

這一個看起來很有趣,其實我理解它,但由於某種原因不能觸發它。我應該給它一個捷徑嗎?還是謝謝你。 –

+0

似乎代碼中唯一缺失的部分是= True,然後才能創造奇蹟! –

+0

你的Excel必須有一些時髦的東西,'= True'絕對不需要。它運行良好,我用大約15個不同的鏈接測試了它。但是,如果你找到了一種方法來實現它,那就是重要的:) – Vegard

相關問題