Board logo

標題: 如何由某欄跳到別欄,再回到原欄? [打印本頁]

作者: leehom    時間: 2015-11-1 01:43     標題: 如何由某欄跳到別欄,再回到原欄?

假設原定位置是A5,然後跳到同列的D欄,即D5,
當做完一些動作後,位置變成D18,想跳回該列的A欄,即A18,
有可能這樣寫嗎?謝謝了!!:)
作者: n7822123    時間: 2015-11-1 03:36

回復 1# leehom

題意不夠清晰,若有圖說或者附件會更好,不然也只能用猜的。

我只能先假設你的位置定義是"啟用"的儲存格,參考看看吧。

Cells(ActiveCell.Row, "A").Activate
作者: lpk187    時間: 2015-11-1 10:08

回復 1# leehom

誠如2樓所說的,題意不清晰
你應該多看VBE中的Range的說明或是這論壇中的文章,
因為你所問的,都是最基礎的知識Range、Cells、Row、Column只要搞清楚這幾個你的問題就可以隨意運用了
Range:範圍,單一儲存格以上相鄰的儲存格寫成Range("A1:A10")或簡稱[A1:A10]其語法意思為,從A1到A10
Cells:儲存格或單元格,就是單一個儲存格或代表工作表所有儲存格,單一儲存格寫法 以B1儲存格來說明 ,寫法為Cells(1,2)意思就Cells(列1,欄2)的意思,所有儲存格則只寫成 Worksheet.Cells
Row:列號,哪一列的意思
Column:欄號,哪一欄
以上說明,只是簡單描述,並不能夠代表所有意思,詳細說明,應以VBE說明為主
下面代碼只是解釋你的問題的描述 的基礎語法,其實際寫法仍要看你的做用倒底是什麼而定:
Dim Ran As Range
Set Ran = Range("A5") '假設原定位置是A5,A5設成變數 Ran
Cells(Ran.Row, "D").Select '然後跳到同列的D欄,即D5,這裡不知道你要做什麼事,所以只有用Select選擇 D5,若是要寫值可以寫成 Cells(Ran.Row, "D")="ABC"
Cells(18, "D").Select '當做完一些動作後 , 位置變成D18 ,同上列說明
Cells(18, Ran.Column).Select '跳回該列的A欄,即A18
作者: leehom    時間: 2015-11-1 14:55

回復 3# lpk187

感謝樓上兩位的熱心解答,其實我是想這樣的



如上圖所見,D欄的資料到D395,我想A,B,C欄能自動向下複製,A欄由A388複製30-Oct到A395,B欄由 B389複製12:37到B395,C欄也是一樣!這樣就能填滿空白。

比如B381,我可以先複製10:43,然後利用Range(Selection, Selection.End(xlDown)).Select指令到B389再往上複製以填滿, 但B389之後,因下面再沒有資料,再往下就是末端了,所以想到跳到D欄,然後找最後一列即D395,然後再利用指令回到該列的B欄,即B395,就可以往上複製了。因為不懂太艱辛複製的寫法,就想到這麼一步一步來寫了,或者有甚麼更好的方法?請指教,謝謝了!!
作者: leehom    時間: 2015-11-1 15:32

回復 4# leehom

[attach]22291[/attach]

圖片備份
作者: n7822123    時間: 2015-11-1 17:24

本帖最後由 n7822123 於 2015-11-1 17:26 編輯

回復 5# leehom


知道你要幹麻了,這段程式碼試看看吧,

其實這個用手動就可以做的到了,挑選特殊儲存格(空格),然後輸入公式=上一個儲存格,再按CTRL+ENTER
  1. Sub 向下填滿()
  2. [D381].CurrentRegion.SpecialCells(xlCellTypeBlanks).FormulaR1C1 = "=R[-1]C"
  3. With [D381].CurrentRegion
  4.   .Copy
  5.   .PasteSpecial Paste:=xlPasteValues
  6. End With
  7. [A1].Select
  8. End Sub
複製代碼

作者: n7822123    時間: 2015-11-1 17:48

本帖最後由 n7822123 於 2015-11-1 17:50 編輯

回復 5# leehom

手動的方式我用圖示說明,你可以用錄的再看程式碼,應該跟我寫的差不多

step1:點選資料範圍任一格,按 ctrl+A,會選取整個資料範圍

[attach]22294[/attach]

[attach]22295[/attach]

step2:再選取的範圍中再挑選特殊目標(儲存格)

[attach]22296[/attach]

[attach]22297[/attach]

step3:看啟用中的儲存格是哪一格,輸入等於上面那格的位置

[attach]22298[/attach]

step4:按下Ctrl+Enter(所有選取的儲存格都填入公式),若只按Enter則只有啟用中的那一個儲存格有公式

[attach]22299[/attach]

step5:最後點選資料範圍任一格按Ctrl+A (全選)> Ctrl+C(複製)  > 滑鼠右鍵 >選擇性貼上 > 值

此步驟只是去掉公式。

[attach]22300[/attach]
作者: leehom    時間: 2015-11-1 23:36

回復 7# n7822123

謝謝啊,但手動那個不知道為甚麼按CTRL+ENTER沒有反應? :o
作者: n7822123    時間: 2015-11-8 21:26

回復 8# leehom


    輸入完公式之後,不要離開輸入的儲存格,再按Ctrl+Enter




歡迎光臨 麻辣家族討論版版 (http://forum.twbts.com/)