我正在處理臨牀研究中的大量數據。對於SAS中的分析,我必須更改存儲在Excel表中的數據的排列方式。這意味着需要數小時的複製和粘貼,如果我手動執行,所以我試圖寫一個宏。我花了幾個小時試圖弄清楚代碼,我提出了一個草案,當然這是行不通的,因爲我沒有VBA背景,所以沒有更深入的語法理解。雖然這個問題非常簡單。這裏就是我想要做的(SRY,只是一個鏈接......因爲我不能張貼圖片還)Excel宏切割和粘貼循環細胞
http://s7.directupload.net/images/140611/b96dhime.png
一紅色箭頭:削減從頂部單元格的值列mmp1_v1和粘貼它到列mmp1的第一個單元格。 然後是藍色的:從mmp1_v2列中的頂部單元格中剪切值,並將其粘貼到mmp1列頂部的第二個單元格中。 與下一個紅色和藍色箭頭相同的東西。每列有194行,97有值,97有空行,所以這個過程應該在循環內完成97次。所有這一切共29列。
我想出的代碼 - 這顯然是行不通的 - 看起來是這樣的:
Sub cut_paste()
Dim nr As Integer
For nr = 1 to 195
Range("J&nr&").Select
Selection.Cut
Range("I&nr&").Select
ActiveSheet.Paste
Range("K&nr&").Select
Selection.Cut
nr = nr + 1
Range("I&nr&").Select
ActiveSheet.Paste
Next nr
End Sub
我希望它做的像Java中的一種。我知道...不是同一種語言,但我只是想過定義一個名爲'nr'的計數變量並將其插入代表該範圍的字符串中。但我不明白錯誤信息,這絕對不是唯一的問題。對於缺少的適當條款,Sry ......英語不是我的母語。如果有人能夠嘗試寫出一種我想象中那種工作方式的例子,我會很高興。如果你甚至可以遵循我想要的。 我還需要做的是改變範圍的名字。由於還有另外29列必須以相同的方式處理。但仍然比只是複製和粘貼所有這些手動,我認爲...
非常感謝提前!
感謝您的快速回復。有效!哈哈......好像我並沒有完全錯誤。 nr = nr + 1仍然是需要的,不過因爲第K列的第一個單元格的第二個單元格必須粘貼到第一個單元格下面的一個單元格中......再次謝謝您! –
沒問題。但請記住,它會在「下一個」點擊時增加額外的時間。請投票/接受答案,如果你發現它有幫助。謝謝。 – MatthewHagemann