Форум программистов, компьютерный форум, киберфорум
VBA
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
2 / 2 / 0
Регистрация: 19.10.2015
Сообщений: 189
Excel

Прибавить часы к значению в ячейке

13.05.2025, 13:18. Показов 973. Ответов 12
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Доброго дня форумчане. Помогите с вопросом, как прибавить к значению в ячейке 4 часа. В ячейке находится время и текст такого плана
Понедельник 19/05/2025
10:05 "СДЕЛАНО В РОССИИ"
10:30 "СЕМЕЙНЫЙ МАРШРУТ"

Были попытки с переносом, но как-то не очень, и в пустые прибавляет и переносится не только время.
Visual Basic
1
2
3
4
5
6
7
8
9
10
11
12
13
14
Sub Copy_2()
    Dim xCell As Range
    Dim xStr As String
    On Error Resume Next
    lngZ = Cells(Rows.Count, 2).End(xlUp).Row + 1
    For Each xCell In ActiveSheet.Range("B1:B" & lngZ).Cells
        xStr = Trim(xCell.Value)
        xCell.Offset(0, -1) = Left(xStr, InStr(xStr, " "))
        xCell.Value = Right(xStr, Len(xStr) - 5)
    Next
    For Each xCell In ActiveSheet.Range("A1:A" & lngZ).Cells
        xCell.Value = xCell.Value + TimeSerial(4, 0, 0)
    Next
End Sub
0
Лучшие ответы (1)
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
13.05.2025, 13:18
Ответы с готовыми решениями:

Работающие часы в ячейке листа Excel
Подксажите как сделать самостоятельно обновляющиеся часы в ячейче при условии, что никаких событий...

Проверить есть ли уже в ячейке примечание и если есть, то на выбор: либо удалить примечание в ячейке и ввести новое, либо выйти из процедуры.
Есть форма с TextBox'ом txtС и кнопка две кнопки CommandButton1 (Создать) и CommandButton2...

В ячейке А3 посчитать сумму положительных элементов. В ячейке С3 посчитать произведение отрицательных элементов
Задание вроде не сложное. Ввести 10 чисел с клавиатуры. В ячейке А3 посчитать сумму положительных...

12
Часто онлайн
 Аватар для КостяФедореев
982 / 632 / 279
Регистрация: 09.01.2017
Сообщений: 2,070
13.05.2025, 13:51
Лучший ответ Сообщение было отмечено lapin9126 как решение

Решение

lapin9126,
Visual Basic
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
    Dim xCell As Range
    Dim xStr As String
    Dim timePos As Integer
    Dim timeStr As String
    Dim newTime As Date
    On Error Resume Next
 
    For Each xCell In ActiveSheet.UsedRange.Columns("B").Cells
        If xCell.Value <> "" Then
            xStr = Trim(xCell.Value)
            timePos = InStr(xStr, ":")
            If timePos > 0 Then
                timeStr = Mid(xStr, timePos - 2, 5)
                If IsDate(timeStr) Then
                    newTime = CDate(timeStr) + TimeSerial(4, 0, 0)
                    xCell.Value = Replace(xStr, timeStr, Format(newTime, "HH:MM"))
                End If
            End If
        End If
    Next xCell
1
2 / 2 / 0
Регистрация: 19.10.2015
Сообщений: 189
13.05.2025, 13:55  [ТС]
Огромное спасибо за помощь!
0
 Аватар для Angry Old Man
2705 / 713 / 298
Регистрация: 26.03.2022
Сообщений: 1,326
Записей в блоге: 1
13.05.2025, 18:04
lapin9126,
Цитата Сообщение от lapin9126 Посмотреть сообщение
как прибавить к значению в ячейке 4 часа
А что всё таки в ячейке? Несколько строк, в том числе и понедельник?
Дайте пример файла.
Допустим, время 23:32+4часа это уже не Понедельник 19/05/2025, а вторник. Определите корректнее постановку. В чем смысл?
0
2 / 2 / 0
Регистрация: 19.10.2015
Сообщений: 189
14.05.2025, 09:01  [ТС]
Вариант скрипта предложенный Костей меня полностью устраивает.
0
927 / 360 / 43
Регистрация: 10.05.2021
Сообщений: 1,539
Записей в блоге: 10
14.05.2025, 09:15
lapin9126, здравствуйте.

Для понимания:
Истинная (не строка) дата в Excel это целое число — количество дней с 00/01/1900 (это 0 в виде даты). 01/01/1900 — это 1 в виде даты.
Это на листе. В VBA немного иначе: CDate(1) = 31/12/1899, CDate(2) = 01/01/1900. То есть, смещение на -1.
Время — это часть дня. 12:00 — это 0,5 в виде времени.
Работать можно, как с любыми другими числами — хоть корень извлекайте.

Цитата Сообщение от lapin9126 Посмотреть сообщение
Прибавить часы к значению в ячейке
1 час — это 1/24 или 0,0416666666666667.
Умножайте на количество часов и прибавляйте.
0
1331 / 770 / 84
Регистрация: 08.02.2017
Сообщений: 2,945
Записей в блоге: 1
14.05.2025, 09:32
Цитата Сообщение от Jack Famous Посмотреть сообщение
Истинная (не строка) дата в Excel это целое число
а есче это число с плавающей точкой (но без плавающей точки) алиас типа double )
0
2 / 2 / 0
Регистрация: 19.10.2015
Сообщений: 189
14.05.2025, 11:09  [ТС]
Не всегда новые сутки начинаются в 00:00.
0
927 / 360 / 43
Регистрация: 10.05.2021
Сообщений: 1,539
Записей в блоге: 10
15.05.2025, 09:33
Цитата Сообщение от lapin9126 Посмотреть сообщение
Не всегда новые сутки начинаются в 00:00.
вам тогда на форум другой планеты
0
Модератор
Эксперт MS Access
 Аватар для shanemac51
12179 / 5029 / 805
Регистрация: 07.08.2010
Сообщений: 14,831
Записей в блоге: 4
15.05.2025, 09:56
Цитата Сообщение от lapin9126 Посмотреть сообщение
Не всегда новые сутки начинаются в 00:00.
согласна
например при работе в суточном режиме,
-сутки могут начинаться в 7 или 8 утра(пересменка)
-далее сутки работы до 7-8 утра следующего дня
0
858 / 507 / 187
Регистрация: 09.03.2009
Сообщений: 1,711
27.05.2025, 19:07
Цитата Сообщение от Jack Famous Посмотреть сообщение
вам тогда на форум другой планеты
ЖД на Сатурне уже проложили? Отчетные сутки у них в 18:00 начинаются.
0
Одесса - Украина
 Аватар для MikeVol
491 / 174 / 63
Регистрация: 01.04.2020
Сообщений: 552
27.05.2025, 21:51
Тоже согласен. В море (на судне) у моряков суточная вахта (UMS) начинается в 12:00 (обеденное время) а не в 00:00 (полночь). В Японских компаниях вообще суточная вахта начинается в 08:00 утра. Так что, есть такое на практике.
0
28.05.2025, 08:35

Не по теме:

У суток есть несколько значений, но первое/основное/главное говорит о том, что они начинаются в 00:00 и заканчиваются "незадолго до". Даже какое-то там соглашение есть — для любителей документации.
Есть термины "на сутках", есть морские сутки, есть ещё много чего, но, если не указано иное, принимается значение по умолчанию.
Лично мне пополам, что там ТС считает сутками — можно было просто спросить "а что, если мне нужно начинать отсчёт во столько-то и заканчивать во столько-то". Вообще без холивара по термину суток.

0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
28.05.2025, 08:35
Помогаю со студенческими работами здесь

Как обращаться к текущей ячейке не по активной ячейке?
пользовательская функция в вычисляемом столбце умной таблицы Сделал свою функцию, думал ща я ей...

Имя листа как дата в ячейке, либо замена части текста в ячейке
Друзья. Всю голову сломал. Никак не получается имя листа (а таких листов в рабочем документе у меня...

Изменение значения в ячейке на одном листе книги при изменении значения в ячейке в другом листе
Добрый день! Подскажите, пожалуйста, как описать событие на листе, при котором при изменении...

Если в ячейке есть слово "Услуга", то в данной ячейке текст выделять жирным
Помогите пожалуйста. Нужно написать если на протяжение всей таблицы если в ячейке есть слово...

Сортировка столбцов с данными по значению в верхней ячейке
В общем есть таблица в которой каждый столбец начинается с числа а затем заполнен смешанной...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
13
Ответ Создать тему
Новые блоги и статьи
Популярные LM модели ориентированы на увеличение затрат ресурсов пользователями сгенерированного кода (грязь -заслуги чистоплюев).
Hrethgir 12.06.2025
Вообще обратил внимание, что они генерируют код (впрочем так-же ориентированы разработчики чипов даже), чтобы пользователь их использующий уходил в тот или иной убыток. Это достаточно опытные модели,. . .
Топ10 библиотек C для квантовых вычислений
bytestream 12.06.2025
Квантовые вычисления - это та область, где теория встречается с практикой на границе наших знаний о физике. Пока большая часть шума вокруг квантовых компьютеров крутится вокруг языков высокого уровня. . .
Dispose и Finalize в C#
stackOverflow 12.06.2025
Работая с C# больше десяти лет, я снова и снова наблюдаю одну и ту же историю: разработчики наивно полагаются на сборщик мусора, как на волшебную палочку, которая решит все проблемы с памятью. Да,. . .
Повышаем производительность игры на Unity 6 с GPU Resident Drawer
GameUnited 11.06.2025
Недавно копался в новых фичах Unity 6 и наткнулся на GPU Resident Drawer - штуку, которая заставила меня присвистнуть от удивления. По сути, это внутренний механизм рендеринга, который автоматически. . .
Множества в Python
py-thonny 11.06.2025
В Python существует множество структур данных, но иногда я сталкиваюсь с задачами, где ни списки, ни словари не дают оптимального решения. Часто это происходит, когда мне нужно быстро проверять. . .
Работа с ccache/sccache в рамках C++
Loafer 11.06.2025
Утилиты ccache и sccache занимаются тем, что кешируют промежуточные результаты компиляции, таким образом ускоряя последующие компиляции проекта. Это означает, что если проект будет компилироваться. . .
Настройка MTProxy
Loafer 11.06.2025
Дополнительная информация к инструкции по настройке MTProxy: Перед сборкой проекта необходимо добавить флаг -fcommon в конец переменной CFLAGS в Makefile. Через crontab -e добавить задачу: 0 3. . .
Изучаем Docker: что это, как использовать и как это работает
Mr. Docker 10.06.2025
Суть Docker проста - это платформа для разработки, доставки и запуска приложений в контейнерах. Контейнер, если говорить образно, это запечатанная коробка, в которой находится ваше приложение вместе. . .
Тип Record в C#
stackOverflow 10.06.2025
Многие годы я разрабатывал приложения на C#, используя классы для всего подряд - и мне это казалось естественным. Но со временем, особенно в крупных проектах, я стал замечать, что простые классы. . .
Разработка плагина для Minecraft
Javaican 09.06.2025
За годы существования Minecraft сформировалась сложная экосистема серверов. Оригинальный (ванильный) сервер не поддерживает плагины, поэтому сообщество разработало множество альтернатив. CraftBukkit. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru
OSZAR »