Вам нужно будет отформатировать ячейку, в которой вы суммируете, до [h]:mm
Это может не работать, если время в исходных ячейках неверное или отформатировано как текст. Вы можете вручную отформатировать ячейки как General
, а затем нажать F2 , а затем Enter , чтобы проверить, работает ли он.
Прежде чем автоматизировать это, вам необходимо понять, что мы делаем.
- Изменение формата
- Изменение
Formula
ячейки, а не Value
. В этом случае, однако, оба одинаковы.
как я могу автоматизировать этот процесс, я не могу сделать это вручную для тысяч ячеек .. - Яссин Лахгар 2 минуты назад
Попробуйте это
Option Explicit
Sub Sample()
Dim ws As Worksheet
Dim lastRow As Long, lastCol As Long
Dim rng As Range, aCell As Range
'~~> Set this to the relevant worksheet
Set ws = Sheet1
With ws
If Application.WorksheetFunction.CountA(.Cells) <> 0 Then
'~~> Find Last row and last column
lastRow = .Cells.Find(What:="*", _
After:=.Range("A1"), _
Lookat:=xlPart, _
LookIn:=xlFormulas, _
SearchOrder:=xlByRows, _
SearchDirection:=xlPrevious, _
MatchCase:=False).Row
lastCol = .Cells.Find(What:="*", _
After:=.Range("A1"), _
Lookat:=xlPart, _
LookIn:=xlFormulas, _
SearchOrder:=xlByColumns, _
SearchDirection:=xlPrevious, _
MatchCase:=False).Column
'~~> Identify your range
Set rng = .Range(.Cells(1, 1), .Cells(lastRow, lastCol))
'~~> Set the format. Be careful with this
'~~> This will overwrite existing formats
rng.NumberFormat = "General"
'~~> Perform F2 + Enter via code
For Each aCell In rng
aCell.Formula = aCell.Value
Next aCell
End If
End With
End Sub