2016-12-30 256 views
0

我有VBA在訪問數據導出到Excel到單獨的表。數據進入未格式化,所以我將創建一個將格式化它的宏。導出是多個地點的庫存數據(現有項目和數量的價格)。自動填充將計算自動填充到數據末尾的價格*數量。這些地點在他們的工作表中沒有相同數量的數據;我最初嘗試將所有工作表分組在一起,只是自動填充第一張工作表。這沒有奏效。任何人都可以指導我以正確的方式使用宏或VBA來執行此操作嗎?Excel的VBA自動填充

注意:當一個新的庫存數進來,使代碼在每個片材在最後一行不能引用一個特定的單元中的數據的量可以改變。

感謝您的幫助!

+0

哪一列你用*價格*和*數量* –

+0

@ Gary'sStudent它的列d和E – KScott

回答

0

這將使用列˚F的產品。選擇每個表和運行此宏:

Sub dural() 
    Dim i As Long, N As Long 
    N = Cells(Rows.Count, "D").End(xlUp).Row 
    For i = 1 To N 
     Cells(i, "F") = Cells(i, "D") * Cells(i, "E") 
    Next i 
End Sub 

例如:

enter image description here

編輯#1:

現在dural()工作,我們可以從調用它:

Sub MAIN() 
    Dim i As Long 
    For i = 3 To Sheets.Count 
     Sheets(i).Activate 
     Call dural 
    Next i 
End Sub 
+0

我在代碼中得到一個類型不匹配錯誤。這可能是由於D和E列中的數據具有十進制值這一事實造成的? – KScott

+0

@KScott列** D **和** E **中的數據必須是數字.....如果有列標題,請以*** 2 ***而不是**開始'For'循環* 1 *** –

+0

太好了。這很好。什麼是最好的方式讓這個在每張紙上運行?請注意,前兩張包含另一張的摘要,因此不應包含在循環中。 – KScott