简单的问题,我希望,但是研究只提出了论坛帖子,这些帖子提供了一堆代码而没有解释任何代码。
我的第一张工作簿就像一个内容页面。 A列中的每个单元格都包含一个IP地址字符串。对于每个IP地址,都有一个单独的工作表,使用IP地址命名。我想将内容页面A列中的单元格转换为相应图纸的超链接(目标图纸的单元格A1)。
我只需要制作超链接的VBA行;我可以弄清楚循环等。请记住,要链接的页面的名称与将成为链接的单元格的值完全相同。
答案 0 :(得分:13)
我录制了一个制作超链接的宏。这导致了。
ActiveCell.FormulaR1C1 = "=HYPERLINK(""[Workbook.xlsx]Sheet1!A1"",""CLICK HERE"")"
答案 1 :(得分:11)
这是我用于创建索引表的代码。
Sub CreateIndexSheet()
Dim wSheet As Worksheet
ActiveWorkbook.Sheets.Add(Before:=Worksheets(1)).Name = "Contents" 'Call whatever you like
Range("A1").Select
Application.ScreenUpdating = False 'Prevents seeing all the flashing as it updates the sheet
For Each wSheet In Worksheets
ActiveSheet.Hyperlinks.Add Anchor:=Selection, Address:="", SubAddress:=wSheet.Name & "!A1", TextToDisplay:=wSheet.Name
ActiveCell.Offset(1, 0).Select 'Moves down a row
Next
Range("A1").EntireColumn.AutoFit
Range("A1").EntireRow.Delete 'Remove content sheet from content list
Application.ScreenUpdating = True
End Sub
希望它有助于某人
答案 2 :(得分:6)
以下内容将循环显示控制表中的A列,并将单元格中的值转换为超链接。不是我以前必须做的事情,请原谅错误:
Sub CreateHyperlinks()
Dim mySheet As String
Dim myRange As Excel.Range
Dim cell As Excel.Range
Set myRange = Excel.ThisWorkbook.Sheets("Control").Range("A1:A5") '<<adjust range to suit
For Each cell In myRange
Excel.ThisWorkbook.Sheets("Control").Hyperlinks.Add Anchor:=cell, Address:="", SubAddress:=cell.Value & "!A1" '<<from recorded macro
Next cell
End Sub
答案 3 :(得分:2)
“!”标志是关键因素。如果您有一个单元格对象(如下面的代码示例中的“mycell”)并将单元格链接到此对象,则必须注意!元件。
你必须这样做:
.Cells(i, 2).Hyperlinks.Add Anchor:=.Range(Cells(i, 2).Address), Address:="", _
SubAddress:= "'" & ws.Name & "'" & _
"!" & mycell.Address
答案 4 :(得分:1)
如果您需要将Sheet1超链接到所有或相应的工作表,请使用简单的vba代码。如果要创建单选按钮,请将此宏指定给“主页”之前的该按钮。
就是这样:
Sub HomePage()
'
' HomePage Macro
'
' This is common code to go to sheet 1 if do not change name for Sheet1
'Sheets("Sheet1").Select
' OR
' You can write you sheet name here in case if its name changes
Sheets("Monthly Reports Home").Select
Range("A1").Select
End Sub
答案 5 :(得分:1)
这个宏添加了一个具有相同名称的工作表的超链接,我还修改了范围以更灵活,只需更改代码中的第一个单元格。像魅力一样工作
Sub hyper()
Dim cl As Range
Dim nS As String
Set MyRange = Sheets("Sheet1").Range("B16")
Set MyRange = Range(MyRange, MyRange.End(xlDown))
For Each cl In MyRange
nS = cl.Value
cl.Hyperlinks.Add Anchor:=cl, Address:="", SubAddress:="'" & nS & "'" & "!B16", TextToDisplay:=nS
Next
End Sub
答案 6 :(得分:0)
在我的实现中,我所引用的单元格可能有多种选择。我使用以下格式,其中“ ws”是当前正在编辑的工作表
takePicture = async() => {
if (this.camera) {
const options = { quality: 0.5, base64: true };
const data = await this.camera.takePictureAsync(options);
console.log(data.uri);//print uri for image saved
}
};