gpt4 book ai didi

VBA:替换部分时间字符串

转载 作者:行者123 更新时间:2023-12-04 19:02:57 24 4
gpt4 key购买 nike

C 列的时间(格式为文本,因为工作表将导出为 csv),格式为 HH:mm:ss。

C1、C2、C3 值分别为时间 09:15:00、09:16:00、09:17:00 至 15:29:00

只需要用“:59”替换最后的“:00”部分

- -捕获 - -
在 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")

}

我知道上面的代码是错误的,但这就是我能想到的。

请求帮助完成这个逻辑..

编辑:
解释的不是很详细。
即使这些完整的小时值也需要替换,例如:10:00:59、11:00:59、12:00:59

最佳答案

你在正确的轨道上。您只需要先拆分字符串,在下半部分替换,然后再连接。这是一个通用函数,您可能希望通过一些错误处理来增强它:

Function ReplaceEnd(s As String, endCount As Integer, replaceWhat As String, replaceWith As String)
Dim baseString As String
Dim replaceString As String

baseString = Left(s, Len(s) - endCount)
replaceString = Right(s, endCount)

ReplaceEnd = baseString & Replace(replaceString, replaceWhat, replaceWith)
End Function

编辑:示例用法:
secrep = ReplaceEnd(Secsz, 3, ":00", ":59")

关于VBA:替换部分时间字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32949375/

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