【发布时间】:2017-11-26 23:15:38
【问题描述】:
我最近编写了一段相当简单的 VBA 代码,这样我就可以长期跟踪我每天的穿着情况。为此,我制作了一个连接到命令按钮的宏,它如下所示:
Private Sub WearingToday_Click()
Dim NextCol As Long
NextCol = Cells(1, Columns.Count).End(xlToLeft).Column + 1
Cells(1, NextCol).Value = Date
Cells(ActiveCell.Row, NextCol).Value = "1"
End Sub
代码只是在下一个可用列中添加今天的日期,在我选择的行上添加数字“1”。
不过,我的问题是,如果我每天多次激活宏,那么第二次激活的日期序列号最后会多出 1,给我一个对应于 3000 年左右的日期。说得更清楚一点:我在 11 月 20 日穿了两件东西,它给出了两个相邻的列具有相同的日期;但只有这些日期的第一列显示了正确的序列号。
我可能会提到我正在将数据导入 Qlik Sense,稍后我将在其中进行一些可视化。在将数据存储为 QVD 文件并从 QViewer 中查看时,我会看到日期序列号。
有趣的是,两个序列号的字符串表示(在 Excel 电子表格中)都是正确的。因此,我不确定问题是否确实只是从 .xlsm 转换到 .qvd 的结果,还是从一开始就存在。
我希望我已经清楚我的问题,并且有人能够帮助我解决这个问题,或者至少让我了解我未来的可能性。
提前致谢。
【问题讨论】: