2013-03-18 117 views
3

是否有模拟正常goto Excel函数按Ctrl +[F5任何VBA代码?VBA代码: “按Ctrl - [” 和 “F5”

用一个例子进一步阐述:

在这种Problem.xlsx两个工作— AlphaBeta

我想

  1. 代码做一个按Ctrl + [Alpha工作表的单元A2(即抢公测!在B5单元格引用)
  2. 这样才能跳转到Beta工作表的单元格B5(使用Beta!B5参考,进行跳转)
  3. 将一个单元格向右移动,即C5Beta工作和遮荫该小区黄色
  4. 最后搞得F5回去的Alpha工作

我用Google搜索对不同的关键字2小时像gotoctrl-[F5的细胞A2previous selection等无济于事。

附加说明:

我试图模拟转到功能按Ctrl - [和F5,使得任何活性细胞(与另一片的链接到另一个小区)我上,VBA代码可以执行跳转,做颜色阴影并跳回到原始表单。 即以下代码是过于严格

Sub JumpColourJump() 
    Worksheets("Beta").Range("B5").Offset(, 1).Interior.Color = vbYellow 
    Worksheets("Alpha").Range("A2").Select 
End Sub 

代码应该是灵活跳到取其片在相同的文件中或在活动单元格是参照其他文件。

+0

Problem.xlsx没有公开可见(需要注册),所以我删除了链接。请重新上传到其他地方。 – 2013-03-18 04:02:53

+0

对不起。我刚刚编辑了文件的链接。它现在应该工作。 – user2180895 2013-03-18 04:23:51

+0

SkyDrive有同样的问题:http://i.imgur.com/DpwIT5s.png ...虽然它比一些随机的论坛链接还好。 – 2013-03-18 04:24:50

回答

0

大部分代码可以通过录制宏产生,但更复杂的零件似乎是:

  • 导航到它引用所选单元格的第一个单元格 - this post on superuser看起来像它包含了一些很好的意见
  • 返回到前片 - 你可以只取到活动工作表的引用在你的函数开始,之后再恢复它,即:
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 
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) 

从细胞到细胞的一类模块几个跳跃作用像一个堆栈实施推送&弹出功能将是理想的。

+0

谢谢克苏鲁。 Ctrl- [等于Application.Goto引用:= CStr(ActiveCell.FormulaR1C1)“返回”跳转'F5'怎么样? – user2180895 2013-03-18 05:30:54

+0

@ user2180895您可以将当前位置的值存储在一个变量(或集合,如果它是多个嵌套跳转的话)并追溯您的路径。 – 2013-03-18 06:13:56

+0

此代码可以显示转到对话框:Application.Dialogs(xlDialogFormulaGoto)。显示是否有方法来编写点击“ok”,然后它将是一个F5 + Enter功能 – user2180895 2013-03-18 07:40:13