-2

時間を 14:54 から double 14+54/60 に変換する必要があります。そして、私は次のコードでこれを行います:

Private Function Omzetten(ByVal time As String) As Double
Dim min As Integer, hours As Integer, datum As Date
datum = CDate(time)
min = DatePart("n", datum)
hours = DatePart("h", datum)
Omzetten = hours + min / 60
End Function

しかし、時刻が 26:00 の場合、26-24 は 2 であるため、彼は 2 しか与えません。したがって、day = DatePart("d", datum) を追加することを考えましたが、彼は常に day = 30 を与えます。解決策はありますか?

4

3 に答える 3

2

常に次の形式のhours : mins場合は、以下を使用します。

Dim str As String
Dim strSplit() As String
Dim Val As Double

str = "26:00"
strSplit = Split(str, ":")

Val = CInt(strSplit(0)) + CInt(strSplit(1)) / 60
于 2012-12-23T12:54:30.093 に答える
0

これは、基本的な Excel の数式で実現できると思います。

時間は数値として保存されるため、任意の時間を 1/24 (つまり 1 時間) で割ると、答えが 2 倍になります。

- 24 時間以上の時間を使用する場合 (例: 26:00)、セルのカスタム形式を[h]:mm:ss

    A        B
1   14:54    =A1/(1/24) // = 14.9
2   26:00    =A1/(1/24) // = 26.0

これは役に立ちますか?

于 2012-12-23T13:20:11.143 に答える