2017-08-29 115 views
-1

我正在为另一个用户构建工作簿并希望它尽可能自动。在工作表1中,用户将复制销售数据,每个产品编号包含多行。每次行数将会不同。 我想复制其中的每一行到第2页,其中有一个Vlookup到枢轴。根据列表中的新条目将行从一张表复制到另一张

澄清:

列A:K有产品数据。但每种产品都有多行销售数据,分发给不同的客户。我只想将每行产品的一行复制到另一张纸上。

我找不到VBA的“为F列各新号码:F做......”

enter image description here

+0

改善你的问题,真的很难理解你在问什么,你想复制每一行的一行吗?你想复制一行粘贴的数据?那么,为什么你说如果你想复制一行,粘贴的数据每次都是不同的? 无论如何,对于每个在像这样 VBA工作“为每个ITM在对象 下ITM” 其中对象可以是一个集合,阵列或单元的范围。 – exSnake

+0

添加这个细节编辑你的问题,然后如果你添加一些图片你会更好... – exSnake

+0

我在这里很新,所以我错了一下,但学习:)图片后。 – Sture

回答

0

所以我没有足够的信息从你的问题,以便能够根本不需要修改这些代码,但是我在一个星期前建立了一个项目,并且有类似的问题。这里是我的代码:

Dim c As Integer 
Dim find As Double 
Dim row As Integer 
Dim config As Long 
Dim configA As Long 
Dim cnt As Integer 
Dim o As Integer 
Dim LastRow As Range 


find = Sheets("Packing Slip").Cells(6, "G").Value 

Sheets("Shipping Detail").ListObjects("Table_Shipping_Detail_Lookup").Range.AutoFilter Field:=6, Criteria1:=find 
c = 20 

For o = 2 To 175 


     If Sheets("Shipping Detail").Cells(o, 6) = find Then 
      Sheets("Packing Slip").Cells(c, 2) = Sheets("Shipping Detail").Cells(o, 1) 
      Sheets("Packing Slip").Cells(c, 3) = Sheets("Shipping Detail").Cells(o, 7) 
      Sheets("Packing Slip").Cells(c, 4) = Sheets("Shipping Detail").Cells(o, 8) 
      Sheets("Packing Slip").Cells(c, 5) = Sheets("Shipping Detail").Cells(o, 11) 

      config = Sheets("Shipping Detail").Cells(o, 1) 
      configA = Sheets("Shipping Detail").Cells(o + 1, 1) 

      Do While configA - config = 0 
       cnt = cnt + 1 
       c = c + 1 
       Sheets("Packing Slip").Cells(c, 4) = Sheets("Shipping Detail").Cells(o, 5) 
       o = o + 1 

       If configA - config = 1 Then 
        Exit Do 
       End If 
       configA = Sheets("Shipping Detail").Cells(o + 1, 1) 
      Loop 

      c = c + 1 
      configA = configA + 1 
     End If 
Next o 

Sheets("Shipping Detail").ListObjects("Table_Shipping_Detail_Lookup").Range.AutoFilter Field:=6 
Worksheets("Packing Slip").Activate 

这第一个IF语句将第一个列表中的数据与运输细节中的搜索匹配。

如果装运明细中的下一行数据具有相同的订单号,则在装箱单上的下一行中仅将装运明细的第5列中的商品(这是产品描述)复制到在包装的第4列溜

如果下一个目前拥有相同的订单号码,但其他产品,这将拉动产品标题是下一个,现在,它的细节遵循

如果下一行是一个新的命令一起程序停止。

希望这有助于!

+0

我想我可以改写这个,没有想到“Do While”在这里。日Thnx! – Sture

相关问题