2016-04-26 86 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错误=== –