excel - 计数器中的日期类型不匹配
问题描述
我正在设计一个预排序 VBA 代码,它必须寻找一行中引入的值(在这种情况下,行 Z 从 Z4 开始并以 Z15 结束)并且必须验证它是否已经存在于另一行中(在这种情况下,行 AC 开始在 AC4 和 AC15 结束)。如果不存在,则必须将时间放在行 AC 的相应单元格中(例如 Z4 --> AC4,Z5 --> AC5)。这是我确保没有 AC 单元格包含等于另一个 AC 值的值的一种方式(将 AC 值理解为具有两分钟差异的连续位置)。如果它在 AC 行中找到 Z 行的值,则必须在 Z 值上增加两分钟,并再次检查该“位置”是否已被占用,直到找到一个空闲位置。
在下面的代码中,您可以看到单元格 Z4 的示例,这将是行中每个 Z 的重复语句。
它完美地运行计数器 Nº4,但是一旦它给出计数器 Nº5,在行 'ActualHour=CDate(Worksheets("Hoja1").Cells(Counter, 29))' 它带来了'运行时错误'13 ': 类型不匹配'。我不知道为什么,因为类型还是一样,而且值也是一样,我附上计数器 4 和 5 的图像:Counter4 Counter5
Sub TSAT4()
Dim DesiredHour As Date
Dim HourTaken As Boolean
Dim ActualHour As Date
HourTaken = True
DesiredHour = CDate(Range("Z4"))
Do While HourTaken = True
HourTaken = False
For Counter = 4 To 15
ActualHour = CDate(Worksheets("Hoja1").Cells(Counter, 29))
If CDate(ActualHour) = DesiredHour Then DesiredHour = DateAdd("n", 2, DesiredHour) And HourTaken = True
Next Counter
Loop
Sheets("Hoja1").Range("AC4") = DesiredHour
Application.CutCopyMode = False
End Sub
解决方案
推荐阅读
- asp.net - 是否有必要在您的项目中有 default.aspx 并作为 ASP.Net 中的起始页
- php - Laravel eloquent 和 raw sql 返回不同的时间戳
- hive - Hive SQL Select 不适用于多个 AND 条件,显示错误:运算符“AND”接受至少 2 个参数
- identityserver4 - IProfileService - 令牌声明
- python - Chromedriver:“FileNotFoundError:[Errno 2] 没有这样的文件或目录:”错误
- android - 如何从 Heroku 上的自定义域访问 .well-known 文件夹?
- javascript - 如何从主文件夹外部导入 javascript 模块
- asp.net - 使用 Microsoft Authenticatior App 忘记密码
- powershell - YAML 管道变量范围
- asp.net-core - Blazor 添加 Random html 属性并打破样式