2017-04-26 117 views
0

我正在開發一些優秀的VBA代碼,該代碼爲用戶輸入的每一行添加一行到發票文檔並將每行用戶輸入複製到該文檔。我創建了5個完全相同的Do Until循環(我只用一個作爲示例,但它們與使用的列完全相同)。將五個Do直到循環合併爲一個循環Excel VBA

我怎樣才能在五個環組合成一個循環,將:

  1. 通過一列去和另一片爲每個用戶輸入的項目
  2. 複製文本到新生成的行創建一個線
  3. 一旦循環到達列中的空白單元格,它移動到下一列

上正確的代碼格式的任何建議也歡迎,因爲我主要是自學成才的VB一個。

下面是我的代碼:

Dim Invoice As Worksheet 
Set Invoice = Sheets("Generated Invoice") 
Case1Start = 1 
CheckRow = 20 
BottomRow = 32 

Do Until InputForm.Cells(CheckRow, Case1Start) = "" 
Worksheets("Generated Invoice").Rows(BottomRow).EntireRow.Select 
Selection.Copy 
Selection.Insert Shift:=xlDown 

Invoice.Cells(BottomRow - 1, 2).Value = InputForm.Cells(CheckRow, Case1Start) 
BottomRow = BottomRow + 1 
CheckRow = CheckRow + 1 
Loop 
+0

什麼阻止你創建另一個for循環中的列? – jjjjjjjjjjj

+0

這是有點不清楚你到底想做什麼。你能提供一些樣本數據和預期結果嗎? – tigeravatar

回答

0

您可以使用private sub火的function每次

Private Sub autofill() { 
    // Your loop 
}