【发布时间】:2017-05-09 10:04:49
【问题描述】:
我需要一些有关可以执行以下操作的 Excel vba 代码的帮助。我充其量只是一个初学者 VBA 程序员,我只需要一些东西来处理我正在处理的电子表格。
我知道关于时间戳代码的问题和答案数不胜数,并且我已经阅读了很多,但我找不到适合我需求的问题和答案。我已经花了几个小时寻找,所以这就是我问的原因。这是我需要的:
当 A 列中的单元格发生更改而 B 列中的相应单元格为空白时,在 B 列中的单元格上加上当前日期。
随后,如果 A 列中的一个单元格发生更改,并且 B 列中的相应单元格不为空(因为它已经包含 A 列先前更改的日期戳),则该单元格中的日期戳B 列不应更改。这包括是否将 A 列中的单元格替换为相同的值。
如果 A 列中的单元格被清除,无论是单独清除还是作为多单元格选择和清除内容的一部分,B 列中单元格中的日期戳不应更改或删除。
仅当手动清除 B 列中的单元格中的日期戳时,如果再次更改 A 列中相应单元格的值(基本上是重置),是否应该再次使用当前日期进行日期戳.
第一行是标签,所以不要对第一行的单元格做任何事情。
我希望我已经说得够清楚了。如果没有,请告诉我。在此先感谢您的任何和所有回复,如果这在某处可用但我找不到它,我很抱歉。
【问题讨论】:
-
您可能永远不会找到适合您需求的代码,我鼓励您学习 more about programming 或雇用一个这样做的人。友情提示:StackOverflow 不是“我们为您编码”的服务提供商。 Introduction to VBA
-
这是一个简单的
Worksheet_Change事件(参见cyboashu 的链接),当Target.Column为1 且Target.Row> 1 且IsEmpty(Target.Offset(0,1))时,您仅将Target.Offset(0,1).Value设置为Now()。 -
@Sgdva - 我很抱歉,当我试图寻找我的答案时,这个网站出现了很多点击,人们询问并得到了与我相似的答案。我想我错了。您是否会建议我尝试其他网站?
-
@YowE3K - 你指的cyboashu的链接在哪里?抱歉,我是新来的。
-
@Verbatim68 作为最后的评论和OT:尊重他人的工作:如果你不知道怎么做,也不愿意学习,不要指望别人为你做,也不要低估他们的工作. 能够编码已经花费了许多人的研究和时间精力(也不是第一次尝试),this article 可能会给你一个我试图陈述的范围。虽然您尝试优化您所在领域的工作是件好事,但不要指望别人做您的工作,以便您获得回报,只是因为您有这个想法。