Найти столбец, в котором записаны даты - VBA
Формулировка задачи:
Ввести координаты ячейки и определить относительно нее текущий регион (CurrentRegion), в котором найти первый слева столбец с датами. Отсортировать строки текущего региона по возрастанию дат в этом столбце. После этого вставить слева от текущего региона дополнительный столбец и проставить в нем нумерацию строк.
Это было все задание.
Я сделал на данный момент такое:
Теперь нужно в выделенном диапазоне найти первый столбец слева направо, в котором записаны даты. Подскажите, как это сделать?
нашел, TypeName, но каждый элемент массива cur_range определяется как range, надо как-то иначе определить тип, скорее всего не создавая массив, а сразу работать по выделенным ячейкам.
null
Вот, выделил нужный диапазон, теперь надо с ним все это сделать Решение задачи: «Найти столбец, в котором записаны даты»
textual
Листинг программы
Sub Sel() Dim i& With Application.InputBox("Введите адрес диапазона или выделите его мышкой", Type:=8).CurrentRegion For i = 1 To .Columns.Count If VarType(.Cells(1, i).Value) = vbDate Then .Sort .Cells(1, i), xlAscending, Header:=False .Columns(1).Insert With .Columns(1).Offset(, -1) .Formula = "=ROW(R1:R" & .Rows.Count & ")" .Value = .Value End With Exit Sub End If Next .Select MsgBox "Дата в первой строке диапазона не обнаружена", vbExclamation End With End Sub
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д