2016-01-20 177 views
0

我只是VBA編碼的新手,所以我沒有太多的線索我不幸的是我在做什麼。我希望能在這裏得到一隻手。Excel VBA複製粘貼移動

我想要做的是。

第一步:複製一行(其中有公式)並將其粘貼在同一位置,但只作爲值。
第二步:將選中的單元格向下移動一行。
第三步:複製一行(帶公式),並在另一行上用公式在另一行上覆制它。

這是在同一張紙上完成的。

如果我能得到一些幫助,這個或某些方向的教程,將非常感激。

+3

打開宏記錄器(通常是左下角),執行所描述的步驟。然後你可以看看這個宏,用F8來瀏覽它,看看它如何影響你的工作表。然後,我建議閱讀[刪除'.Select'](http://stackoverflow.com/questions/10714251/how-to-avoid-using-select-in-excel-vba-macros)。這應該會讓你感覺很好。如果您在此之後需要幫助,請發佈代碼以及您嘗試的其他任何內容。你有什麼搜索,什麼?你應該在VBA複製/粘貼上找到無數的資源。 – BruceWayne

回答

2

通常情況下,如果沒有你的努力,我不會這樣做,但爲什麼不呢?下面的內容和我所能得到的一樣簡單。請仍然使用宏記錄器來看看這一切是如何工作的。這是我們很多人開始的方式。

Sub StepOne() 
Dim myRow As Long 
myRow = 1 ' We will "copy/paste" on Row 1 
' To avoid using the clipboard, you can simply set two ranges' values equal. This will 
' clear out any formulas and leave the values. 
Rows(myRow).Value = Rows(myRow).Value 
End Sub 

而第二個:

Sub StepTwo() 
Dim rng As Range 
'Change this as required. Note the use of `Set` with a `Range` type. 
Set rng = Range("A1:A10") 
rng.Cut rng.Offset(1, 0) 
End Sub 

,最後一個:

​​

編輯:嗯,我知道現在第三步是不是設置兩個範圍等於一個涉及多一點因爲你想維護公式。不過,我會將此作爲您進行調查的學習機會。如果你不知道,讓我知道,我可以指導你。 :D

+1

非常感謝你@BruceWayne!這正是我正在尋找的。我結束了你的代碼去然後一步三我用 '子StepThree() 範圍(「A1:AC1」)。複製範圍(「A4:AC4」)' 再次感謝你的幫助,這是更比慷慨:) –