2017-03-04 49 views
0

我有一个用于库存跟踪的Excel工作簿,似乎无法像我需要的那样使其工作。我有一个产品主表,然后多个表格仓库位置。我希望能够在我的主表中添加一个新行并使用新产品更新其他表。我试图编写一个VB脚本来将零件号从主副本复制到仓库主,然后用vlookup填充列表。我选择了这种方法,因此当我在主版本中更改描述时,它会更新所有工作表。我似乎无法编写一个VB脚本,在我想要的地方插入一行,并在我的其他表单中执行相同的操作。Excel VBA插入/删除工作表中的行

下面是一个例子:我以前从主行添加到子板

enter image description here

代码:

 


    Private Sub Worksheet_Change(ByVal Target As Range) 
     Application.ScreenUpdating = False 
     For a = 1 To 10 
      Sheets("Master").Rows(a).Copy 
      Sheets("VBtest").Rows(a).Insert Shift:=xlDown 
     Next a 
     Application.ScreenUpdating = True 
     End Sub 

问题是,它删除我所有的股票信息。试图在行的第一个单元格中添加空白行和复制零件号码似乎对我无效。

+0

是您希望它是,还是它的外观与你的代码的例子吗?请张贴您的代码,以便我们可以看一看。 –

+0

只需连接“仓库主”和“仓库远程”即可将单元格内容打印到相应的“主”单元内容中,并使用'='主'!A2'等简单公式写入范围A2:F1000(或任何最大值你需要的行大小) – user3598756

+0

这个工作,直到我在主中添加一个新的行,子表中的额外的列保持,但A:F得到更新。这些项目的描述会随着您的方法而改变,但不会将库存信息向下移动以匹配旧的描述。 – Ryan

回答

0

在“大师”表代码窗格中添加以下代码:

Private Sub Worksheet_Change(ByVal Target As Range) 
    With Range("A" & Target.row & ":F" & UsedRange.Rows(UsedRange.Rows.count).row) 
     Worksheets("Warehouse Main").Range(.Address).Value = .Value 
     Worksheets("Warehouse Remote").Range(.Address).Value = .Value 
    End With 
End Sub 
+0

@瑞恩,你通过了吗? – user3598756

+0

对不起,延迟回复。这对项目本身非常有用,但是我的股票信息并没有向下移动。如果我将范围扩展到行,我插入的行的下方的库存信息消失。 – Ryan

+0

任何想法user3598756?提前致谢。 – Ryan