返回列表 上一主題 發帖

excel 時間是否可以相減

回復 11# sghsgh1111


    你好, 25時即是零晨的1時(24+1) , 用以計overnight的時間.

TOP

不懂, 一天也才 24 小時, 為什麼會出現 27:00 and 25:45 ?

TOP

回復 9# sghsgh1111

謝謝你...
請問如果是以下形式又應如何改?
如:
A1           A2            Result
13:00     15:00        2小時
22:00     27:00        5小時
23:00     25:45   2.75小時

TOP

  1. Sub ex()
  2.     Dim a, b, c

  3.     For c = 1 To 20
  4.         a = Range("A" & c + 1).Value
  5.         b = Range("B" & c + 1).Value
  6.         If a = "" Then Exit For
  7.         If b < a Then b = b + 1
  8.         With Cells(c + 1, 3)
  9.             .Value = (b - a) * 24
  10.             .NumberFormat = "0.00時"
  11.         End With
  12.     Next
  13. End Sub
複製代碼
回復 8# xmi

TOP

回復  sghsgh1111
試試看
GBKEE 發表於 2015-3-10 08:13


請問如果是以CELL的INPUT應如何改?
如:
A1           A2            Result
13:00     15:00        2小時
22:00     03:00        5小時

TOP

感謝大大的說明

TOP

回復 5# sghsgh1111
日期相減後的數字,整數是日數(1天有24小時),小數點後的數字是小時數(*60=分鐘數)
d1-d2 如=2.15 -> 2.15*24=51.6小時,2.15*24*60=3096分鐘,2.15*24*60*60=185760秒

對匯入外部資料不熟悉可參考 VBA的 QueryTable 物件說明
感恩的心......(在麻辣家族討論區.用心學習會有進步的)
但資源無限,後援有限,  一天1元的贊助,人人有能力.

TOP

可以再多問一個問題嗎

QueryTables 要如何滙入其他的 excel 檔案
這是錄置巨集所產生的程式碼, 但不了解這個語法, 可以解答嗎
  這個巨集可以再簡化嗎  

  With ActiveSheet.QueryTables.Add(Connection:=Array( _
        "OLEDBrovider=Microsoft.Jet.OLEDB.4.0assword="""";User ID=Admin;Data Source=I:\VBA.xls;Mode=Share Deny Write;Extended Prop" _
        , _
        "erties=""HDR=YES;"";Jet OLEDB:System database="""";Jet OLEDB:Registry Path="""";Jet OLEDBatabase Password="""";Jet OLEDB:Engine Type=3" _
        , _
        "5;Jet OLEDBatabase Locking Mode=0;Jet OLEDB:Global Partial Bulk Ops=2;Jet OLEDB:Global Bulk Transactions=1;Jet OLEDB:New Datab" _
        , _
        "ase Password="""";Jet OLEDB:Create System Database=False;Jet OLEDB:Encrypt Database=False;Jet OLEDBon't Copy Locale on Compact=F" _
        , "alse;Jet OLEDB:Compact Without Replica Repair=False;Jet OLEDB:SFP=False"), _
        Destination:=Range("A2"))
        .CommandType = xlCmdTable
        .CommandText = Array("Status$")
        .Name = "VBA_1"
        .FieldNames = True
        .RowNumbers = False
        .FillAdjacentFormulas = False
        .PreserveFormatting = True
        .RefreshOnFileOpen = False
        .BackgroundQuery = True
        .RefreshStyle = xlInsertDeleteCells
        .SavePassword = False
        .SaveData = True
        .AdjustColumnWidth = True
        .RefreshPeriod = 0
        .PreserveColumnInfo = True
        .SourceDataFile = "I:\VBA.xls"
        .Refresh BackgroundQuery:=False
    End With

TOP

謝謝指導, 之前也是這樣直接相減, 但減後都是 0.01xxx
但我看上面有在 X 24 , 這個意思不是很懂, 可以說明一下嗎
為什麼不是 X 60 ???
不過以這個算法來, 看起是ok

TOP

回復 1# sghsgh1111
可以自己試試 DateDiff 函數
表達不清、題意不明確、沒附檔案格式、沒有討論問題的態度~~~~~~以上愛莫能助。

TOP

        靜思自在 : 【是否發揮了良能?】人間壽命因為短暫,才更顯得珍貴。難得來一趟人間,應問是否為人間發揮了自己的良能,而不要一味求長壽。
返回列表 上一主題