我在這裏假設你的意思是「我希望在宏運行後移動它」。是你想要命名的範圍移動。
我有一個電子表格,用於跟蹤一週的時間,「第一」表是活動表。當一週結束後,我將整個活動工作表複製到新工作表中。我想從前一週繼續進行總計,所以我保留了這些數據。我這樣做有3列:當前周總數,舊(前幾周)總數,新總數。我將新總數的值粘貼到舊總數。然後我清除用於輸入的單元格。
我的每一個本能都是使用命名單元格,但在這種情況下,我認爲這不是正確的做法。我只是使用單元格區域(A1,K2:K0等)問題是名稱不是每個表單的本地名稱,所以您必須將名稱從舊錶單移動到新表單,而這不是值得努力。此外,在這種情況下,創建每個表單所獨有的類似名稱(例如,Mon-FriWeek1,Mon-FriWeek2等)的替代方案在第一週沒有給你帶來任何實際意義!A1:A10等 - 除了可能自我滿足,你使用的名字就像你「應該」那樣。無論如何,這是我的意見!
也許這可能有所幫助:在我的電子表格中,行可以從一週到下一週添加/刪除。爲了允許這樣做,仍然避免命名範圍,我模仿去每列有一個公式的列,然後按Shift + End然後按向下箭頭。選擇將在輸入內容的最後一個單元格停止。下面是該代碼(第一行頭/標籤):
'Copy New Total Hours as PasteValues to Old Total
Dim lastRow As Long
Range("K1").Select
Range(Selection, Selection.End(xlDown)).Select
lastRow = Selection.Rows(Selection.Rows.Count).Row + 1
Range("K2:K" & CStr(lastRow)).Select
Selection.Copy
Range("J2").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks:=False, Transpose:=False
你需要保持至少一個排在了那裏,還是它(在我的情況非常多其他的事情)沒有按」工作。但是,這適合我的需求就好。
我希望這會有所幫助。
請不要使用'Select',除非它真的**是必需的(它幾乎從來不是這樣) – JMax