参考这个问题,
Changing Row Colour according to condition
我熟悉条件格式。但是我仍然面临这个问题。
我正在使用此代码将时间转换为分钟内的时间。
Dim TestString As String
TestString = Me.Duration
Dim TestArray() As String
TestArray = Split(TestString, ":")
Dim Hours As String
Dim Minutes As String
Dim Seconds As String
Dim HoursMinutes As Integer
Dim MinutesMinutes As Integer
Dim SecondsMinutes As Integer
Hours = TestArray(0)
Minutes = TestArray(1)
Seconds = TestArray(2)
HoursMinutes = CInt(TestArray(0)) * 60
MinutesMinutes = CInt(TestArray(1))
SecondsMinutes = CInt(TestArray(2)) / 60
Dim TimeInMinutes As Integer
TimeInMinutes = HoursMinutes + MinutesMinutes + SecondsMinutes
Me.Duration = TimeInMinutes
然而,由于某些原因,这不起作用。
您有什么想法如何为单独的行执行此操作?
提前致谢
ADD:
我尝试为Minutes创建一个字段,问题是它们会得到所有相同的数字。
答案 0 :(得分:1)
以下代码有一个名为 dateTime
的String变量,它以这种格式存储当前日期和时间: 27/08/2013 10:55:52
dateTime
字符串被拆分为Variant arr
数组
Split(dateTime, Chr(32))(1)
返回 10:55:52
变量的dateTime
部分时间
然后Split(Split(dateTime, Chr(32))(1), ":")
使用:
(冒号)作为分隔符将时间分成3个数字
所以你最终得到arr
持有小时数,分钟数,秒数。
CLng((arr(0) * 60) + arr(1) + (arr(2) / 60))
返回计算出的时间值
将下面的sub粘贴在一个新模块中并运行它
Sub Convert()
Dim dateTime As String
dateTime = now
Dim arr
arr = Split(Split(dateTime, Chr(32))(1), ":")
MsgBox "The time " & Split(dateTime, Chr(32))(1) & vbCrLf & _
" as Integer is equal to " & CLng((arr(0) * 60) + arr(1) + (arr(2) / 60))
End Sub