powered by simpleCommunicator - 2.0.56     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Microsoft Office [игнор отключен] [закрыт для гостей] / VBA Как в Excel складывать время
12 сообщений из 12, страница 1 из 1
VBA Как в Excel складывать время
    #32699447
О.Сергей
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Задача: имеем ячейки со временем типа 10:20 7:05 20:15 ... , как их просуммировать чтобы получить в некой ячейке время в виде 157:40
Форматирование типа "hhh:mm" дает чушь.
...
Рейтинг: 0 / 0
VBA Как в Excel складывать время
    #32699497
Фотография big-duke
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
см вложение
...
Рейтинг: 0 / 0
VBA Как в Excel складывать время
    #32699562
О.Сергей
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
big-dukeсм вложение


Это все хорошо! Но как тоже самое сделать в модуле имея например объект Selection или суммируя ячейки в переменную? получается десятичнач дробь!
(Selection.sum - ругается)
...
Рейтинг: 0 / 0
VBA Как в Excel складывать время
    #32699620
Фотография Stepler
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
О.Сергей big-dukeсм вложение


Это все хорошо! Но как тоже самое сделать в модуле имея например объект Selection или суммируя ячейки в переменную? получается десятичнач дробь!
(Selection.sum - ругается)
Код покажи...
Ты, наверное, забыл в коде определить формат данных
...
Рейтинг: 0 / 0
VBA Как в Excel складывать время
    #32699641
Фотография Stepler
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
или просто так (пример big-duke )

Range("C8").Select
Application.CutCopyMode = False
ActiveCell.FormulaR1C1 = "=R[-7]C[-2]+R[-5]C[-2]+R[-3]C[-2]"
Range("D8").Select Stepler (щёлк-щёлк!!)

Код: plaintext
 P.S.Присутствовали ли Вы, когда Вас фотографировали?  
...
Рейтинг: 0 / 0
VBA Как в Excel складывать время
    #32699653
О.Сергей
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Range("H" & LTrim(Str(x))) = Format(Sper, "hhh:mm")

Sper - переменная в которой накопилась сумма по ячейкам
...
Рейтинг: 0 / 0
VBA Как в Excel складывать время
    #32699664
Фотография big-duke
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
если нужн просто сумма без формулы то
Application.WorksheetFunction.Sum(selection)
Application.WorksheetFunction.Sum(range("A1:A7"))
...
Рейтинг: 0 / 0
VBA Как в Excel складывать время
    #32699708
Фотография big-duke
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
вот
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
Public Sub MyTime()
    Dim DH As Long
    Dim Res As String
    DH = Int(ActiveCell) *  24 
    Res = CStr(DH + CLng(Split(Format(ActiveCell, "h:mm"), ":")( 0 )))
    Res = Res & ":" & Split(Format(ActiveCell, "h:mm"), ":")( 1 )
End Sub
...
Рейтинг: 0 / 0
VBA Как в Excel складывать время
    #32699742
О.Сергей
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
big-dukeесли нужн просто сумма без формулы то
Application.WorksheetFunction.Sum(selection)
Application.WorksheetFunction.Sum(range("A1:A7"))


В этом случае в ячейку попадает десятичное число 6,44513888888889 вместо требуемых 154:41 ???
...
Рейтинг: 0 / 0
VBA Как в Excel складывать время
    #32699793
Фотография big-duke
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
для этого я и нарисовал mytime
activecell - это ячейка с суммой (а7)
...
Рейтинг: 0 / 0
VBA Как в Excel складывать время
    #32699803
О.Сергей
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
big-dukeвот
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
Public Sub MyTime()
    Dim DH As Long
    Dim Res As String
    DH = Int(ActiveCell) *  24 
    Res = CStr(DH + CLng(Split(Format(ActiveCell, "h:mm"), ":")( 0 )))
    Res = Res & ":" & Split(Format(ActiveCell, "h:mm"), ":")( 1 )
End Sub


Чем здесь может быть ActiveCell и для чего Split()?
...
Рейтинг: 0 / 0
VBA Как в Excel складывать время
    #32699901
О.Сергей
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
big-dukeвот
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
Public Sub MyTime()
    Dim DH As Long
    Dim Res As String
    DH = Int(ActiveCell) *  24 
    Res = CStr(DH + CLng(Split(Format(ActiveCell, "h:mm"), ":")( 0 )))
    Res = Res & ":" & Split(Format(ActiveCell, "h:mm"), ":")( 1 )
End Sub


Ура!!! Сработало, спасибо big-duke
...
Рейтинг: 0 / 0
12 сообщений из 12, страница 1 из 1
Форумы / Microsoft Office [игнор отключен] [закрыт для гостей] / VBA Как в Excel складывать время
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]