我有一个包含时间值的列:
05:13:32
05:13:32
05:13:32
05:13:32
05:13:33
05:13:33
05:13:34
05:13:34
05:13:35
05:13:35
05:13:36
05:13:36
05:13:36
05:13:37
05:13:37
05:13:38
05:13:38
05:13:39
05:13:39
这些值位于C列。
现在:第一点是我开始寻找下一个比第一个值多2秒的值,这意味着我会找到05:13:34。
我编写了这段代码,但它不起作用,因为Find
函数(What:=)不接受我声明为x= Activecell.Value + "00:00:2"
的变量
Sub sekundenfinder2()
Dim sekundo2 As Range
Dim x as Integer
Range("C153").Select
' //// Here is the Point where I begin to go the colomn down and look for the next value
Selection.Activate
Set sekundo2 = Range("C:C").Find(What:="x", After:=ActiveCell)
sekundo2.Select
End Sub
第二个问题:
Activecell.Value
给出值0,21 .......,这意味着Excel将值从时间转换为数字,但我希望以“00:00”的格式保留时间: 00" 。我尝试将格式更改为时间,但仍将其更改为数字。
有什么建议吗?
答案 0 :(得分:0)
DateAdd
添加时间x
时,它不会保留为变量,而是保留为字符串。x
声明为Date
而不是Integer
这是你在尝试什么?我假设数据来自C1
以及C1
有05:13:32
Sub sekundenfinder2()
Dim sekundo2 As Range
Dim x As Date
x = DateAdd("s", 2, Range("C1").Value)
Set sekundo2 = Range("C:C").Find(What:=x)
If Not sekundo2 Is Nothing Then sekundo2.Select
End Sub