2017-03-07 5 views
0

以下のコードでは、ユーザーフォームのボタンがテンプレートに基づいて新しいシートを作成し、名前を変更しています。とにかくこれを行うが、新しいシートを別のワークブックで作成しても、まだハイパーリンクでアクセスしていますか?何かが助けます。ありがとう。別のワークブックに新しいテンプレートシート

Dim i as byte, sh as worksheet 
for i=1 to 1 
Sheets("TEMPLATE").Copy after:=sheets("TEMPLATE") 
set sh = activeSheet 
' Do whatever you have to do with the new sheet 
sh.Name = AddEmployeeUF.txtFirstname.Text + AddEmployeeUF.txtMiddleinitial.Text + AddEmployeeUF.txtLastname.Text + "Template" 
ws.Hyperlinks.Add Anchor:=ws.Range("F" & LastRow), Address:="", SubAddress:=sh.Name & "!A1", TextToDisplay:="View" 
Next I 

答えて

0

これはあなたが必要とするすべてのものにする必要があります。また、私は無駄なループを取り除きました。

Dim newWB As Workbook 
    Dim thisWB As Workbook 
    Set thisWB = ThisWorkbook 
    Set newWB = GetOrCreateWB("WBName", "C:\Users\...") '<--| Opening WB you want 
    thisWB.Sheets("Template").Copy after:=newWB.Sheets(1) 
    With ActiveSheet '<--| the just pasted worksheet becomes the active one 
    .Name = AddEmployeeUF.txtFirstname.Text + AddEmployeeUF.txtMiddleinitial.Text + AddEmployeeUF.txtLastname.Text + "Template" '<--| Name it 
    ws.Hyperlinks.Add Anchor:=ws.Range("F" & LastRow), Address:=newWB.Path & "\" & newWB.Name, SubAddress:="'" & .Name & "'!A1", TextToDisplay:="View" '<--| hyperlink to new sheet 
0
Dim i as byte, sh as worksheet 
Dim newWB as Workbook 
Dim thisWB as Workbook 
Set thisWB = ThisWorkbook 
set newWB = Application.Workbooks.Add 
for i=1 to 1 
    thisWB.Sheets("TEMPLATE").Copy after:=newWB.Sheets("Sheet1") 
    set sh = newWB.Sheets("TEMPLATE") 
    ' Do whatever you have to do with the new sheet 
    sh.Name = AddEmployeeUF.txtFirstname.Text + _ 
       AddEmployeeUF.txtMiddleinitial.Text + _ 
       AddEmployeeUF.txtLastname.Text + "Template" 
    ws.Hyperlinks.Add Anchor:=ws.Range("F" & LastRow), Address:="", _ 
             SubAddress:=sh.Name & "!A1", _ 
             TextToDisplay:="View" 
Next I 
+0

ワークシートクラスのコピー方法が失敗しましたエラー –

+0

これが私の頭の上から入力するためのものです。修正された 'Copy'行を見てください。 – PeterT

+0

とにかく、現在のブックと新しいブックに新しいシートが作成されないようにします。とにかく、新しいシートが作成されたときに特定のワークブックに保存されるようにするたびに、新しいワークブックが作成されます。 –

関連する問題