【发布时间】:2016-02-01 21:09:12
【问题描述】:
我想在我的活动表上的“A”行中的每个单元格中添加一个超链接(其文件路径 - sName+sPath),如果不彻底检查整个事情,我找不到一种方法来做到这一点。
如果你能帮忙就好了。
非常感谢。
这是我得到的:
Sub PendingReviewers()
Dim sPath As String, sName As String
Dim bk As Workbook, sh As Worksheet
Dim rw As Long
Set sh = ActiveSheet '
sh.Cells.ClearContents
cRow = 1
sh.Cells(cRow, 1) = "Document Name"
sh.Cells(cRow, 2) = "Reviewer"
sh.Cells(cRow, 3) = "Decision" 'H5
rw = 2 ' row to write
sPath = "P:\ISO 9001 Documents\Review Documents\" ' Dir for file location
sName = Dir(sPath & "*QDRS.xlsx") ' for xl2010 & "*.xlsx"
Do While sName <> "" 'Loop until filename is blank
Set bk = Workbooks.Open(sPath & sName)
sh.Cells(rw, "A") = bk.Name
sh.Cells(rw, "B") = bk.Worksheets(2).Range("B39")
sh.Cells(rw, "C") = bk.Worksheets(2).Range("H39")
sh.Cells(rw, "D") = bk.Worksheets(2).Range("K39")
sh.Cells(rw, "E") = bk.Worksheets(2).Range("B48")
sh.Cells(rw, "F") = bk.Worksheets(2).Range("I48")
sh.Cells(rw, "G") = bk.Worksheets(2).Range("G4")
sh.Cells(rw, "H") = bk.Worksheets(2).Range("B32")
sh.Cells(rw, "I") = bk.Worksheets(2).Range("D39")
rw = rw + 1
sh.Cells(rw, "A") = bk.Name
sh.Cells(rw, "B") = bk.Worksheets(2).Range("B40")
sh.Cells(rw, "C") = bk.Worksheets(2).Range("H40")
sh.Cells(rw, "D") = bk.Worksheets(2).Range("K40")
sh.Cells(rw, "I") = bk.Worksheets(2).Range("D40")
rw = rw + 1
sh.Cells(rw, "A") = bk.Name
sh.Cells(rw, "B") = bk.Worksheets(2).Range("B41")
sh.Cells(rw, "C") = bk.Worksheets(2).Range("H41")
sh.Cells(rw, "D") = bk.Worksheets(2).Range("K41")
sh.Cells(rw, "I") = bk.Worksheets(2).Range("D41")
rw = rw + 1
sh.Cells(rw, "A") = bk.Name
sh.Cells(rw, "B") = bk.Worksheets(2).Range("B42")
sh.Cells(rw, "C") = bk.Worksheets(2).Range("H42")
sh.Cells(rw, "D") = bk.Worksheets(2).Range("K42")
sh.Cells(rw, "I") = bk.Worksheets(2).Range("D42")
rw = rw + 1
sh.Cells(rw, "A") = bk.Name
sh.Cells(rw, "B") = bk.Worksheets(2).Range("B43")
sh.Cells(rw, "C") = bk.Worksheets(2).Range("H43")
sh.Cells(rw, "D") = bk.Worksheets(2).Range("K43")
sh.Cells(rw, "I") = bk.Worksheets(2).Range("D43")
rw = rw + 1
sh.Cells(rw, "A") = bk.Name
sh.Cells(rw, "B") = bk.Worksheets(2).Range("B44")
sh.Cells(rw, "C") = bk.Worksheets(2).Range("H44")
sh.Cells(rw, "D") = bk.Worksheets(2).Range("K44")
sh.Cells(rw, "I") = bk.Worksheets(2).Range("D44")
rw = rw + 1
bk.Close SaveChanges:=False
sName = Dir()
Loop
End Sub
【问题讨论】:
-
你看Hyperlinks.Add方法了吗?
-
是的,但我无法获得超链接。添加以在循环中工作。
标签: excel vba hyperlink filenames