2017-03-16 37 views
0

之下的行中我是一名完全熟悉VBA的初學者,並且我始終如一地創建了一份工作報告,其中包含從salesforce下載的excel電子表格列。列是(A)到(T),列(T)包含同一行中每個項目的註釋。VBA電子表格。添加新行並將該行中的單元格複製到

我一直在每個項目下插入一個新行,並將列單元格(T1)拖入該行,然後將該行合併並居中。

然後我重複第3行(原始行2)的過程並取出列單元格(T3),並在第3行項目下面插入一個新行並拖動(T3),然後合併並居中該行。

這個過程重複。 (我只在手動完成之前爲其他人手動完成了這個操作),但我仍然堅持爲此編寫一個宏。

我知道我需要:

  1. 設定範圍作爲活性片
  2. 啓動While循環
  3. 插入新行
  4. 合併在行(x)的A欄細胞至T
  5. 複製(列T,第1行)到第2行,列單元(AT)
  6. 刪除(列T,第1行)
  7. 轉移到下一個(列T,行x),直到沒有剩下。

末次

我知道我需要做的。但我想不出正確的代碼讓我走到需要去的地方。

任何人都可以幫忙嗎?

以下添加的是我迄今所寫的代碼。

好的,這是我迄今爲止。它打破並繼續合併同一行反覆(無限循環)。我猜測它與ActiveSheet.Paste有關。任何想法對我?

子Addingrowsv1

Do Until ActiveCell.Value = "" 
    Rows("3:3").Select 
    Range("C3").Activate 
    Selection.Insert Shift:=xlDown, CopyOrigin:=xlFormatFromLeftOrAbove 
    Range("T2").Select Selection.Copy 
    Range("C3").Select 
    ActiveSheet.Paste 
    Range("C3:S3").Merge 
Loop 
End Sub 

謝謝你,吉姆

+1

從宏錄像機開始,這將給你一個很好的代碼將看起來像骨架。然後,看看循環。然後,當您將一些代碼放在一起時,發佈它,我們很樂意幫助解決具體問題/問題。如果你確實有一些代碼,請發佈。 – BruceWayne

回答

0

VBA是在操縱數據相當不錯;所以你想要做的就是在VBA範圍內。

首先,開啓宏記錄器並執行其中一對線。他們去看錄製的代碼。

通常,您將採取錄製的代碼並將其自定義以進入循環。

做錄音時您需要幫助嗎?

+0

非常感謝你們布魯斯和詹姆斯的錄製想法。如果我卡住了,我會繼續使用錄音並將其備份。 – jdyce

+0

這裏正是我所擁有的東西。它打破並且繼續合併同一行(無限循環)。我猜測它與ActiveSheet.Paste有關。 對我有幫助嗎? 子Addingrowsv1 做,直到ActiveCell.Value = 「」 行( 「3:3」)。選擇 範圍( 「C」)激活 Selection.Insert轉變:= xlDown,CopyOrigin:= xlFormatFromLeftOrAbove 範圍(」 T2 「)選擇 Selection.Copy 範圍(」 C3 C3 「)選擇 ActiveSheet.Paste 範圍(」:S3" )合併 循環 結束小組 謝謝你,吉姆 – jdyce

相關問題