是否有任何模拟正常goto
Excel函数的VBA代码 Ctrl + [和 F5 ?
通过示例进一步阐述:
在此Problem.xlsx中有两个工作表 - Alpha
和Beta
。
我想要一个代码
A2
工作表的单元格Alpha
上执行 Ctrl + [“(即获取单元格中的Beta!B5引用)< / LI>
B5
工作表的单元Beta
(使用Beta!B5引用,跳转)C5
工作表的Beta
,并将该单元格设为黄色A2
工作表Alpha
醇>
我在Google goto
,ctrl-[
,F5
,previous selection
等各种关键字上搜索了2个小时无效。
附加说明:
我正在尝试模拟goto函数Ctrl- [和F5,以便任何活动单元格(带有指向另一个工作表中另一个单元格的链接)我在,VBA代码可以执行跳转,执行颜色着色和跳转回到原始表。 即。以下代码限制性太强
Sub JumpColourJump()
Worksheets("Beta").Range("B5").Offset(, 1).Interior.Color = vbYellow
Worksheets("Alpha").Range("A2").Select
End Sub
代码应灵活,以跳转到同一文件或活动单元格引用的其他文件中的任何一张。
答案 0 :(得分:0)
大多数代码都可以通过录制宏来生成,但更复杂的部分似乎是:
Dim initalSheet As Worksheet
' Take a reference to the current sheet
Set initialSheet = ActiveSheet
' *** Perform changes here ***
' Return to the initially selected sheet
initialSheet.Select
答案 1 :(得分:0)
为了在页面之间来回切换,这样的事情会起作用。
'follow local hyperlink
Application.Goto Reference:=Worksheets("Alpha").Cells(1, 1).FormulaR1C1
'color the cell to the right
ActiveCell.Offset(0, 1).Interior.Color = vbYellow
'return using the same method
然后,您可以使用ActiveCell.Offset(row, col)
获取正确的单元格并执行操作,并使用相同的方法返回。
要返回上一个位置,您可以将其保存在变量
中Dim returnSheet As String, returnCell As String
returnSheet = ActiveSheet.Name
returnCell = CStr(ActiveCell.Address(False, False))
'Jump to cell, do your magic
Application.Goto Reference:=Worksheets(returnSheet).Range(returnCell)
或对于从单元到单元的多次跳转,类似模块的行为像堆栈一样实现推送&amp;流行功能将是理想的。