gpt4 book ai didi

vba - 以整数形式插入日期 (Excel)

转载 作者:行者123 更新时间:2023-12-03 01:31:53 26 4
gpt4 key购买 nike

我有一个 vba 代码来连接不同列中的值。其中一根柱子; M 列 - 是日期,格式为 dd/mm/yyyy。我想将其日期的整数值与单元格中的其他值连接起来。

我正在尝试使用 Int(CDbl("date")) 将日期值转换为 int,然后使用它与其他单元格连接。

我当前的vba代码是:

Dim datevar As Integer
For i = 1 to LastRow
datevar = Int(CDbl(Sheets("Project_Name").Cells(i, 13).value))
target.location.formula = "=Project_Name!B" & i & "&UPPER(Project_Name!D" & i & ")&Project_Name!E" & i & "&Project_Name!F" & i & "&Project_Name!G" & i & "&Project_Name!H" & i & "&Project_Name!I" & i & datevar & ""
Next i

当我运行此命令时,我在 datevar = Int(CDb1(...)) 行上收到“类型不匹配”错误:

enter image description here

有人可以告诉我为什么会出现错误,以及是否有更有效的工作方式?

编辑

好吧 - 我收到错误,因为 CDbl 无法将字符串转换为 double ...但是,该单元格中的值肯定是日期而不是字符串。解决这个问题的最佳方法是什么?

最佳答案

使用日期时,最好将其值存储为 Double 而不是 Integer

只需使用:

datevar = Sheets("Project_Name").Cells(i, 13).Value

您可以添加以下行来防止出现非整数值:

If IsNumeric(Sheets("Project_Name").Cells(i, 13).Value) And Sheets("Project_Name").Cells(i, 13).Value > 0 Then
<小时/>

注意:您可以使用DoubleLong来存储日期值。Integer 限制为最大 32,767 的值,请阅读 HERE .

如果我们查看今天的日期,2018 年 8 月 17 日的值为 43,329,超过了整数 上限,这就是您收到错误的原因。

关于vba - 以整数形式插入日期 (Excel),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51895719/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com