当我尝试将整个工作表复制到另一个工作表时,一切都很好,除了超链接更改为以“........\”开头,而不是在带有超链接的单元格中使用“http:\”。
复制方法很简单。我不知道为什么会这样。以下是我的简单代码,将 temp1Workbook 的工作表“temp1sheet”复制到 PrimaryWorkbook 的工作表“LatestData”。
' copy data into the "master file"
Windows(temp1Workbook).Activate
Sheets(temp1Sheet).Select
Range("A1").Select
Range(Selection, Selection.End(xlToRight)).Select
Range(Selection, Selection.End(xlDown)).Select
Selection.Copy
' paste result, now there is a fresh list of Active
Windows(PrimaryWorkbook).Activate
Sheets("LatestData").Select
Range("A1").Select
ActiveSheet.Paste
提前感谢您的建议和帮助。
最佳答案
我认为您几乎不需要对代码进行修改。更好的方法是创建一个变量并传输单元格值并粘贴到所需的位置。
例如,,
If Worksheets("Sheet1").Range("A1).Value > "" Then
Dim NewHLnk As String
If Worksheets("Sheet1").Range("A1").Hyperlinks.Count = 1 Then
NewHLnk = Worksheets("Sheet1").Range("A1").Hyperlinks(1).Address
Worksheets("Sheet2").Range("A1").Hyperlinks.Add Anchor:=Worksheets("Sheet2").Range("A1), Address:=Worksheets("Sheet2").Range("A1")
Worksheets("Sheet2").Range("A1").Hyperlinks(1).Address = NewHLnk
End If
End if
注意:需要将目标单元格变成超链接单元格。
希望这对您有所帮助。
关于VBA excel,工作表复制但超链接已更改,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48047815/