我有以下電子表格結構。填充VBA的最佳方式
ID, Storage_name, Name_of_product, Quantity_used, Date_Used
用戶給出了開始和結束日期,我必須填寫所有出現在那些開始/結束日期之間的存儲產品中使用的所有數量。
對於實施例
如果結構是
ID Storage_name Name_of_Product Quantity used Date_used
1 st1 pro1 2 11/1/2011
2 st2 pro2 5 11/2/2011
1 st1 pro1 3 11/2/2011
4 st1 pro3 5 11/4/2011
並且用戶選擇ST1作爲存儲位置和11/01/2011和11/04/2011如開始和結束日期我的輸出應是
ID Storage_name Name_of_Product Quantity used
1 st1 pro1 7
4 st1 pro3 5
我沒有使用數據庫(我希望我是)。這是做到這一點的最佳方式。
我首先從頭到尾運行三個循環,第二個檢查storage_name,第三個檢查Name_of_product,然後更新quantity_counter,但它變得混亂。應該有更好的方法來做到這一點。我正在將輸出寫入文件。
謝謝 P.S我知道我不必在輸出文件中使用列storage_name。無論哪種方式都很好。
我這樣做
Dim quantity as long
storageName= selectWarehouse.Value ' from combo box
quantity = 0
With Worksheets("Reports")
lastrow = .Range("A1").SpecialCells(xlCellTypeLastCell).row + 1
End With
row = 2
While (row < lastrow)
If CStr((Worksheets("Reports").Cells(row, 2))) = storageName Then
name = CStr((Worksheets("Reports").Cells(row, 3)))
quantity = quantity + CLng(Worksheets("Reports").Cells(row, 4))
End If
row = row + 1
Wend
我檢查的日期開始。那部分很好。
什麼看起來像你的代碼? –
我將使用代碼 – Ank
更新我的帖子「哪種方法是最好的方法」 - 使用變量數組進行數據操作,然後將最終轉儲數據用於表單。 *從不*運行For循環來逐個轉儲信息單元格。我現在無法得到這個,如果可能的話週末會查看 – brettdj