Вставка строки с названием дня недели - VBA
Формулировка задачи:
Вставка строки с названием дня недели.
Имеется таблица, в первой колонке которой для каждой строки стоит время в формате 12:30 mm/dd/yyyy hh:mm (месяц/день/год час:мин). Хронология строк соблюдается, интервалы времени между строками разные (час, полчаса).
Нужно перед началом каждого календарного дня вставить строку, и в ее 3-ю ячейку вставить название дня недели и дату, относящиея к нижеидущим строкам. Перед началом следующего дня – такая же строка с соответствующим днем недели и датой.
Как решать - не знаю, впервые сталкиваюсь с форматом дат и времени.
По идее нужно для каждой клетки первого столбца сделать поиск
искать по-очереди каждую из возможных дат, т.е. For i= from 1 to 31 Find #??/i/????#
затем внутри найденного найти наименьшее время, если найденных строк больше одной, то перейти к самой верхней из них,
скопировать данные первой ячейки этой строки,
и перед строкой с этим наименьшим временем вставить строку (Add BeforeRow),
в ее третью ячейку вставить скопированную дату=время, форматировать с отображением дня недели, и далее к следующему Next i.
Как это оформить, кто подскажет? Заранее спасибо!
Решение задачи: «Вставка строки с названием дня недели»
textual
Листинг программы
Sub m_2() Dim zRange As Range Dim oCell As Cell For Each oCell In ActiveDocument.Tables(1).Columns(1).Cells If IsDate(Left(oCell.Range, 10)) = True Then ActiveDocument.Range(oCell.Range.Start, oCell.Range.Start + 10).Delete End If Next End Sub
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д