2013-03-18 113 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