在DropDown选择中将数据从一个工作表链接到另一个工作表

时间:2017-03-11 20:55:55

标签: excel vba excel-vba

我正在尝试创建每月净收入/费用表。

我有一家小型制造公司,根据我们收到的订单,我想每月增加费用和收入。

我创建了一个小表

QQmlEngine::addPluginPath()

我现在有3张

  • 订单列表基本上具有我收到的所有订单的名称,例如Washing Unit。我已经定义了一个名称,因此它将成为一个下拉选项,如图所示Order Name

现在我的Washing Unit与此表完全相同,但它没有Order Name

我想知道如果从下拉列表中选择洗涤单位,如何将整个行数据链接到我的Washing Unit表单

例如,如果我输入描述和日期,收入和费用,然后我选择洗涤单位,它应该作为Washing Unit表单中的条目添加,如果我选择无,它将从那里删除

3 个答案:

答案 0 :(得分:0)

只要您希望从另一个工作表中的单个单元格中提取数据,最好的方法就是使用INDEX / MATCH工作表函数。

答案 1 :(得分:0)

你有自己的一些代码吗?我建议你尝试写一些,然后回来寻求帮助来完善它。

一些提示:

  • 使用sheet" Jan"。
  • 的worksheet_change事件
  • 要可靠地识别要添加或删除的行,您需要在" Jan"和"洗涤单位" - 让我们称之为"订单号"。它不一定要花哨,只需要唯一地识别每个订单。
  • 您设置了worksheet_change以检查"订单名称"柱。如果找到一个,它会从更改的行中获取订单号,并在"洗涤单元"中查找该订单号。片。
    • 如果"订单名称"是"无"它会从"洗涤单位"。
    • 中删除具有该订单号的任何行
    • 如果"订单名称"是"洗涤单位"并且找不到订单号,它会在"洗涤单元"中找到第一个空行。并在那里添加订单。

编辑添加:

那应该是'如果"订单名称"不是"洗涤单位"它从"洗涤单位"。'

中删除具有该订单号的任何行

已更改,因为我发现您可能有其他订单名称,并且您可能需要不时更正错误的订单名称。

但你仍然需要编写自己的代码!

答案 2 :(得分:0)

没有看到你的数据在哪个列下,A,B,C等我无法创建一些肯定会在你的工作表上工作的东西,但下面的公式是我和Variatus建议你使用的。

=IFERROR(INDEX(Jan!$A$1:$E$1000,SMALL(IF(Jan!$D$2:$D$1000="Washing Unit",ROW(Jan!$A$2:$A$1000)),ROW(1:1)),2),"")

使用这样的公式可以创建的是您在工作表Jan上的数据的动态过滤版本,这样当您添加“清洗单位”条目时,它们将自动列在{{1表格。

公式正在查看工作表Washing Unit上的整个数据表,然后它正在比较D Jan列中的数据,看它是否包含“清洗单位”。此公式将放置在工作表Jan!$D$2:$D$1000="Washing Unit"的顶部,并显示第一个匹配Washing Unit并从指定范围ROW(1:1)的第二列获取数据,{{1} }),“”)因此您将公式放在ROW(1:1)表单中的相应列下。

输入公式后,必须使用 CTRL + SHIFT + ENTER 而不是 ENTER 使它成为一个数组公式并添加{}。然后,您可以将公式拖动到您认为可能需要的多个单元格中。 (当你这样做时,你会在单元格中看到数据)。

然后,返回到顶部并将第一个单元格复制到下一列并更改公式中指定要从ROW(1:1)中提取数据的列的数字),2 ),“”)到与您的标题对应的数字Washing Unit,再次使用 CTRL + SHIFT + ENTER 添加大括号{}并再次自动填充。

重复,直到找到所需的所有列。

这不是一个简单的公式,您需要记住 CTRL + SHIFT + ENTER 以确保它有效,但您可以拥有去看看你是否能让它发挥作用。