【发布时间】:2017-01-29 23:11:14
【问题描述】:
过去一周我一直在努力让代码正常工作,但没有成功。我尝试了各种修改,最终给出了不同的错误代码。
我遇到的第一个错误是 Set rng = Intersect(.UsedRange, .Columns(2))
对象不支持该属性或方法
然后我将其更改为仅浏览整个列以查看它是否有效:Set rng = Range("B:B"),当我这样做时,它会读取并收到Set HyperlinkedBook = Workbooks.Open(Filename:=cell.Offset(0, -1).Value) 的错误,错误代码为:
运行时错误 1004 抱歉,我们找不到 24 James.xlsx
它是否可能被移动、重命名或删除?
我相信这行代码假设超链接应该打开另一个具有该名称的工作簿,但事实并非如此。摘要工作表上的超链接链接到同一主工作簿上的其他工作表,只有模板位于单独的工作簿上。
所以为了克服这个问题,我也尝试更改这一行并最终得到下面的代码,它设法打开模板工作簿,并将标签名称复制到第一张纸上,然后在下面的行中给出错误 @ 987654324@,说
下标超出范围
Sub Summary()
Dim MasterBook As Workbook
Set MasterBook = ActiveWorkbook
With MasterBook
Dim rng As Range
Set rng = Range("B:B")
End With
Dim TemplateBook As Workbook
Set TemplateBook = Workbooks.Open(Filename:=" C:\Users\Desktop\Example template.xlsx")
Dim cell As Range
For Each cell In rng
If cell.Value = "Red" Then
cell.Offset(0, -1).Hyperlinks(1).Follow NewWindow:=False, AddHistory:=True
TemplateBook.Sheets("Red").Copy ActiveSheet.paste
ElseIf cell.Value = "Blue" Then
cell.Offset(0, -1).Hyperlinks(1).Follow NewWindow:=False, AddHistory:=True
TemplateBook.Sheets("Blue").Copy ActiveSheet.paste
End If
Next cell
End Sub
我尝试了更多变体,但无法复制正确的模板,切换回主工作簿工作表,通过链接在同一主工作簿中找到更正工作表,然后粘贴模板。
【问题讨论】: