示例输入:
Length
24:00
24:00
00:36
00:36
24:36
Length
08:00
08:00
08:00
Length
08:00
08:00
01:16
01:16
09:16
Length
08:00
08:00
00:42
00:42
08:42
我有一个名单列表这些时间配对并需要查看总数,理想情况下我可以重组系统的模板吐出这些数据,但我无法访问系统的那一部分所以我需要找到解析最大数字的方法。我只是取组中的最后一个值,但我不知道如何动态地定义一个数组,因为每个集的长度各不相同。
所需的输出将是一个数字列表,每个部分一个,不包括分隔符:
24:36
08:00
09:16
08:42
思想?
答案 0 :(得分:0)
如果我理解你的问题,你应该能够设置一个空字符串和一个最大变量,然后遍历列,检查值是否为“length”。如果是长度,则将最大值添加到字符串并将max重置为零。
类似的东西:
dim max as integer
dim i as integer
dim col as integer
dim ret as String
max = 0
col = 1 'Assume A for now
i = 1
ret = ""
while not sheets("sheet1").cells(i,col).value = ""
if sheets("sheet1").cells(i,col).value > max 'Check for max
max = sheets("sheet1").cells(i,col).value
end if
if sheets("sheet1").cells(i,col).value = "length" 'Check for delimeter
ret = ret + max + vbCrLf 'convert to string, add a newline.
max = 0
end if
i = i + 1
wend
return ret
这是粗略的,未经测试的,但应该让你对策略有一个大概的了解。
当然,这对于像23:40这样的值不起作用,你必须要么创建一个自定义类并覆盖一个isGreater()函数,要么将它分成两个整数,一个在之前:和一个后。