【发布时间】:2015-12-06 12:04:44
【问题描述】:
我正在尝试根据特定列中单元格的相对位置(行)更改单元格的值。 举例说明:
Name Up Down NoMove New
Bob 0 0 1 0
Fred 0 0 1 0
Jane 0 0 1 0
Peter 0 0 1 0
etc
外部来源会改变人们(鲍勃、弗雷德)的立场。发生这种情况时,4 列应反映当前状态相对于前一个状态
Name Up Down NoMove New
Fred 1 0 0 0
Bob 0 1 0 0
Jane 0 0 1 0
Alan 1 0 0 1
etc
我查看了整个 Stackoverflow,但找不到任何可行的方法。我什至不确定这是否可能,但也许我没有正确的术语。有人可以告诉我在哪里寻找或提供解决方案吗? 谢谢!
【问题讨论】:
-
不清楚您要做什么。 1)您希望这会发生在同一张纸上吗? (即之前和之后的表格是同一张表,第二个视图是同一张表格,由您所谓的
external sources更改)。这似乎是不可能的。您需要原始表格的副本进行比较。如果原始视图消失了,那么就没有什么可比的了。 -
您需要更清楚地描述您的问题。在 VBA 中,您可以为
Worksheet_Change事件编写一个事件处理程序——据此 (social.msdn.microsoft.com/Forums/en-US/…) 是由来自 DDE 外部链接的数据更改触发的。 -
抱歉,如果不是很清楚。澄清一下:名称列中名称的位置是在外部更新的(它们只会从同一张表的另一部分引用)。理想情况下,同一张纸上只有一张桌子。但是,可以在另一张纸上进行计算。也许在更新之前拍摄了工作表的“快照”,然后将新工作表与快照进行比较?不确定这是否可行。步骤非常简单:更改名称位置会影响其他列,但我想实现起来很困难。
-
您能帮助我们了解这需要什么目的吗?这是所需的最终输出还是您打算对这张表做些什么?如果这不是最终所需的输出,则可能有一种更简单的方法来获得最终所需的输出。至于怎么办。我会在加载过程中将所有名称和位置加载到数组或字典中,然后将加载位置与数组或字典进行比较。但这又取决于期望的最终结果。
-
@ScottCraner 感谢您的提问。实际上,这里的值最终会存储在 MySQL 数据库中。我在数据库中有一个带有名称、向上、向下等字段的表。本质上,我的 excel 电子表格包含一个简单的名称列表。名称的顺序将定期更改(并且会有新条目)。因此,更好的办法是找出一种在 SQL 中操作数据并直接从普通列表更新表的方法。但我试图先在电子表格中做到这一点。欢迎任何建议。也许列表会转到一个数组,然后可以在每次更改时对其进行操作。
标签: excel