大家好,
我現在有一個需求,就是在Excel中,目前在用的儲存格變到在畫面的最上端。
如下圖一,變成下圖二。同樣選擇的是儲存格B23不變,不過捲動畫面,使儲存格B23跑到畫面的最上方。
圖一
圖二
一般來說可用滑鼠的滾動來完成,可是我想設成巨集後,設快捷鍵用鍵盤就能完成。
之前我在Word有類似的需求,在word中我寫的如下,可以達成類似的需求(遊標目前在的一行變到最上面一行)
ActiveDocument.ActiveWindow.SmallScroll Down:=70
Selection.MoveUp Unit:=wdLine, Count:=1
Selection.MoveDown Unit:=wdLine, Count:=1
可是在Excel中,我就寫不出來了。
可以請您幫我完整地寫出來嗎?
目前在用的儲存格變到在畫面的最上端。
我最近才學會錄製巨集的……寫的語法也是看錄製後的語法是怎樣才會的。目前的我就像是小學生一樣,只會照樣造句而已。所以萬分拜託請您幫我寫出來。
Cells(1, ActiveCell.Column).Select
海綿寶寶您好,
您可能誤會我的意思了。您的那個語法會跑到該欄最上面的一個儲存格。
而我的需求是,選擇的儲存格不變,但是捲動視窗,讓該儲存格到畫面的最上方。如下圖一選擇的是B23的儲存格,我要變成圖二的樣子,同時選擇的是B23的儲存格不變,只不過捲動畫面、使B23跑到畫面的最上方。
圖一
圖二
ActiveWindow.ScrollRow = Selection.Row
ActiveWindow.ScrollColumn = Selection.Column
使用Application.Goto
海綿寶寶您好,感謝您,結果很接近我的需求。但是是否可以不要向右捲動?意思就是向下捲動而已。恩,用圖來說好了,用您提供的語法會從下面圖一變成圖三,可是我希望的結果是圖二。請問是否有辦法呢?
圖一 使用巨集前
圖二 希望的結果
圖三 使用語法
ActiveWindow.ScrollRow = Selection.Row
ActiveWindow.ScrollColumn = Selection.Column
的結果
只用第 1 of 2 列就好了
ActiveWindow.ScrollRow = Selection.Row
Hi 海綿寶寶,
我發現好像光用
ActiveWindow.ScrollRow = Selection.Row
就是我要的效果了,謝謝您。
使用Application.Goto ActiveCell, True