2016-04-26 114 views
0

我有兩張紙。一個有倉庫(18個倉庫),另一個有商店(50個商店)。通過VBA循環重複該過程

我需要在200公里內將商店映射到倉庫。

我寫了一個相同的代碼,但需要循環它。代碼如下所示

代碼將從倉庫表複製第一個倉庫,並將其粘貼到商店表中的所有50個商店。 然後,工作表中的一個公式(已在工作表中更新)計算每個商店與第一個倉庫之間的KM差異。然後過濾出200公里範圍內的商店,複製並粘貼(轉置)倉庫表中的第一個倉庫。現在我想爲第二個倉庫做同樣的程序,然後第三個到最後。請幫助

==================================

Sub RADIUS() 


Worksheets("SHOP").Activate 
AutoFilterMode = False 
Range("f2:g4175").Clear 
Worksheets("WAREHOUSE").Activate 
Range("C2:d2").Select 
Selection.Copy 


Worksheets("SHOP").Activate 
Range("f2:g4175").PasteSpecial _ 
Operation:=xlPasteSpecialOperationAdd 
Application.Calculation = xlCalculationAutomatic 


AutoFilterMode = True 
Range("A1:h1").AutoFilter Field:=8, Criteria1:="<=200" 
Range("A2:A" & Cells(Rows.Count, "A").End(xlUp).Row).SpecialCells(xlCellTypeVisible).Copy _ 


Worksheets("WAREHOUSE").Activate 


Range("e" & Rows.Count).End(xlUp).Offset(1).Select 


Selection.PasteSpecial Paste:=xlValues, Operation:=xlNone, SkipBlanks:= _ 
False, Transpose:=True 


End Sub 

回答

0

我會建議該副聲明之後,我將包括以下:

j = 2 
While Worksheet("Warehouse").Range("C"&j) <> "" then 

在循環結束時,剛好高於在End Sub,我將包括以下:

j = j + 1 
Wend 
+0

昏暗J所示整數 Ĵ = 2當工作表(「PP」)。範圍(「C」&j)<>「」,然後===編譯錯誤:syntex錯誤=== –