VBA - 日期格式 " mm/dd/yyyy"
我的文件格式 excel 日期
我想改变格式
, 但我在代码中有一个错误..
错误执行时间 '13': 不一致类型
这是一个错误的字符串
笔记
: 列中的数据 A 和 B 是日期
我的代码:
我真的觉得我是在正确的地方 path..am 我错过了什么?
更新
: 我的脚本将收到数据
和
并且,使用
功能 DateDiff, 一世
扣除
两个列如果差异将是 <15, 把它放在外面
作为
笔记
:
我只扣除了两列的日子..但是可以减去和几年?
如果我使用格式,它可以使用 mm/dd/yyyy 在 excel, 但如果我使用另一种格式,我得到了
不一致
错误
更新 2
:
在我的文件中,这是日期格式如果您将其作为数据样本尝试,则可能是因为 VBA 不承认它 dateformat?
Mar 30 2016 10:12:27:396AM
我想改变格式
mm/dd/yyyy
, 但我在代码中有一个错误..
错误执行时间 '13': 不一致类型
这是一个错误的字符串
SecondDate = Trim/Sheet2.Range/"B" & RowNo/.Value/
笔记
: 列中的数据 A 和 B 是日期
我的代码:
Dim Result, RowNo As Long
Dim FirstDate As Variant
Dim SecondDate As Variant
RowNo = 2
FirstDate = Trim/Sheet2.Range/"A" & RowNo/.Value/
SecondDate = Trim/Sheet2.Range/"B" & RowNo/.Value/
FirstDate = Format/FirstDate, "mm/dd/yyyy"/
SecondDate = Format/SecondDate, "mm/dd/yyyy"/
Do Until Sheet2.Cells/RowNo, 1/ = ""
FirstDate = Sheet2.Cells/RowNo, 1/
SecondDate = Sheet2.Cells/RowNo, 2/
If DateDiff/"d", FirstDate, SecondDate/ >= 15 Then
Sheet2.Cells/RowNo, 3/ = "1"
Sheet2.Cells/RowNo, 4/ = "2"
End If
RowNo = RowNo + 1
Loop
我真的觉得我是在正确的地方 path..am 我错过了什么?
更新
: 我的脚本将收到数据
Column A
和
Column B
并且,使用
功能 DateDiff, 一世
扣除
两个列如果差异将是 <15, 把它放在外面
Column C and D
作为
1, 2
笔记
:
我只扣除了两列的日子..但是可以减去和几年?
如果我使用格式,它可以使用 mm/dd/yyyy 在 excel, 但如果我使用另一种格式,我得到了
不一致
错误
更新 2
:
Column A | Column B | Column C
Mar 1 2016 10:12:27:396AM | Mar 30 2016 10:12:27:396AM |
Mar 1 2016 10:12:27:396AM | Mar 30 2016 10:12:27:396AM |
在我的文件中,这是日期格式如果您将其作为数据样本尝试,则可能是因为 VBA 不承认它 dateformat?
没有找到相关结果
已邀请:
1 个回复
涵秋
赞同来自:
测试入口:
https://i.stack.imgur.com/YKlKG.png
测试输出:
https://i.stack.imgur.com/KT3me.png
代码:
请花几分钟了解这段代码:
FirstDate 和 SecondDate - 这些是数据数据的类型,而不是日期或选项。 它们表明的细胞中的数据 - 这是一个日期或其他东西。
设置格式时,它会指定其在纸张上显示的方法。 这不是格式化字符串 VBA.
在打电话之前 DateDiff, 确保 FirstDate, 和 SecondDate 确实包含单元格中的日期数据类型,它将阻止许多错误。
今天使用日期函数的数据类型的操作是 NOT 取决于格式化。 他们使用内部类型的日期。 格式化 ONLY 影响日期如何转换为字符串和/或显示在床单上。
你问了检查,而不是一年中的一天。 有内置的功能 VBA /例如,年,月等等/, 这将有助于这种帮助。
如何获得最新的问题
:
我不确定你在哪里得到临时代码,但是 Excel 不承认
对于毫秒。 他用
. 见下文 ...
https://i.stack.imgur.com/TOB5n.png