我有一张工作表,用作发票,附有参考编号和在发票上选择的各种项目,并希望将该发票上的选项复制到用作主数据库的其他工作表。
实施例: 工作表1(发票)在“Client1”的单元格中具有唯一引用 客户选择购买2个苹果,1个香蕉和3个橙子。 在单独的工作簿上是所有客户端的列表主数据库及其信息,名称地址等。此数据库中的列A具有每个客户的唯一引用,即Client1,Client2等。此电子表格还包含Apple D列,Banana in Column F列中的E和橙色
如果您在发票完成后单击按钮,并且根据所使用的唯一客户端引用,将为master数据库中的正确字段填充为该特定客户端选择的项目数量,那将如何工作?
即 - 识别发票工作表上的唯一参考号,在主数据库工作表上找到具有唯一参考号的行,并将数字2放在apple列中,1列在香蕉列中,3列在oranges列中?
答案 0 :(得分:0)
将问题分解为几个小问题:
如何存储您正在查找变量的客户的价值:
您需要创建一个类型为" String"的新变量。存储价值。然后参考持有客户的范围。
Dim strCustomer as String
strCustomer = Sheet1.Range("A1").value
现在您将客户存储在变量strCustomer
如何在某个范围内找到该值:
使用find
的{{1}}方法,您可以快速获取在其他工作表中找到搜索字词的单元格或行或列:
range
现在我们在A列中拥有唯一客户的行(作为范围对象)
如何在引用该范围的单元格中写入值
现在我们可以写出那一行,进入适当的单元格,香蕉,苹果以及你想要的任何值Dim rowFoundCustomer as Range
Set rowFoundCustomer = Sheet2.Range("A:A").Find(strCustomer).EntireRow()
Sheet1
这是假设rowFoundCustomer.Cells(1,4) = Sheet1.Range("B2") 'apples
rowFoundCustomer.Cells(1,5) = Sheet1.Range("B3") 'bananas
rowFoundCustomer.Cells(1,6) = Sheet1.Range("B4") 'oranges
包含您的发票而Sheet1
包含您的主数据内容。同时假设Sheet1 Sheet2
让您的客户和A1
保留了苹果,香蕉和橙子的发票数量。
将它们放在子程序中:
B2, B3, B4
然后你可以在工作表上按下一个按钮,让它指向那个子。