我正試圖從一個活動單元格創建一個超鏈接到一個新創建的作業簿。 在wb1中,員工在sheet2上輸入資料。我讓vba選擇C列的底部資料,因為這不僅是鏈接,而且是新的wb的名稱。然后,它通過從wb1復制sheet1來創建一個新的wb。然后用新的名字做saveas。我的問題是,我似乎無法讓超鏈接地址發揮作用。我怎樣才能為這個新的wb參考超鏈接的地址?我似乎無法理解這個地址。謝謝你的幫助。
Sub NewSheet()
Dim wb1 As Workbook
Dim wb2 As Workbook
Dim ws1 As Worksheet
Dim FName As String
設定 wb1 = ThisWorkbook
Set ws1 = wb1.Sheet("Sheet1")
'復制名稱
wb1.ActiveSheet.Range("C" & Cells.Rows.Count).End(xlUp).Select
wb1.ActiveSheet.Range("C" & Cells.Rows.Count).End(xlUp).Copy
Sheets("Sheet1").Activate
Range("H5").Activate
Range("H5").PasteSpecial
保存檔案的路徑
路徑="C:Excel測驗"
'檔案名
FName = ws1.Range("H5")
'創建的作業簿
Sheets("Sheet1").Copy
設定 wb2 = ActiveWorkbook
'以新名稱保存作業簿
Application.DisplayAlerts = False
wb2.SaveAs filename:=Path & FName, FileFormat:=52
Application.DisplayAlerts = True
'超鏈接單元格
Workbooks("Workbook1.xlsm").Activate
Sheets("Sheet2").Select
wb1.ActiveSheet.Range("C" & Cells.Rows.Count).End(xlUp).Select
'我把地址的路徑作為問題的占位符
ActiveSheet.Hyperlinks.Add Anchor:=Selection, Address:=Path, SubAddress:=Sheet1!
"Sheet1!", TextToDisplay:=""
End Sub
uj5u.com熱心網友回復:
我希望現在的超鏈接是你所期望的。由于你是一個新的貢獻者,我清理了你的一些代碼。希望你不要介意! 歡迎。
Sub NewSheet2()
Dim wb1 As Workbook
Dim wb2 As Workbook
Dim ws1 As Worksheet
設定 wb1 = ThisWorkbook
Set ws1 = wb1.Sheet("Sheet1")
' 保存檔案的路徑
Dim Path As String: 路徑 = "C:usersxptp183Excel測驗"
' 檔案名
Dim FName As String
FName = wb1.ActiveSheet.Range("C" & Cells.Rows.Count).End(xlUp).Value
'創建的作業簿
Sheets("Sheet1").Copy
Set wb2 = ActiveWorkbook
'以新名稱保存作業簿
Application.DisplayAlerts = False
wb2.SaveAs Filename:=Path & FName, FileFormat:=52
Application.DisplayAlerts = True
' 超鏈接單元格
wb1.激活
Sheets("Sheet2").Select
wb1.ActiveSheet.Range("d" & Cells.Rows.Count).End(xlUp).Select
我把地址的路徑作為問題的占位符
Dim lnkAddress As String: lnkAddress = Path & FName & ".xlsm"
ActiveSheet.Hyperlinks.Add Anchor:=Selection, Address:=lnkAddress, TextToDisplay:=""
End Sub
轉載請註明出處,本文鏈接:https://www.uj5u.com/qiye/323588.html
標籤:
下一篇:無法向資料透視表添加計算欄位
