C列的格式为HH:mm:ss,其时间(格式为文本,工作表将以csv格式导出).
C1,C2,C3值分别为时间09:15:00,09:16:00,09:17:00至15:29:00
需要仅使用":59"替换最后一个":00"部分
--- CATCH ---在C栏中将有10:00:00或11:00:00或12:00:00等值
这意味着用":59"直接替换":00"将破坏精确的10'o时钟,11'o时钟等的值.
C列将填充数千个此类数据点.我的猜测下面的逻辑不起作用:
{
Dim secrep As String
LastRow = Cells(Rows.Count, "C").End(xlUp).Row
Secsz = Range("C1:C" & LastRow).Select
seczero = Right(Secsz, 2)
secrep = Replace(Secsz, ":00", ":59")
Run Code Online (Sandbox Code Playgroud)
}
我知道上面的代码是错误的,但这就是我能想到的.
请求帮助完成此逻辑..
编辑:解释不太精细.即使这些全小时值也需要替换,例如:10:00:59,11:00:59,12:00:59
如果该值不以以下结尾,00:00则将其更新为:59
Dim cell As Range
For Each cell In Range("C1", Range("C1").End(xlDown))
If Right$(cell.Value, 5) <> "00:00" Then
cell.Value = Left$(cell.Value, 6) & "59"
End If
Next
Run Code Online (Sandbox Code Playgroud)
编辑,仅替换最后 00一个:
Dim cell As Range
For Each cell In Range("C1", Range("C1").End(xlDown))
cell.Value = Left$(cell.Value, 6) & "59"
Next
Run Code Online (Sandbox Code Playgroud)