Найти столбец, в котором записаны даты - VBA

Узнай цену своей работы

Формулировка задачи:

Ввести координаты ячейки и определить относительно нее текущий регион (CurrentRegion), в котором найти первый слева столбец с датами. Отсортировать строки текущего региона по возрастанию дат в этом столбце. После этого вставить слева от текущего региона дополнительный столбец и проставить в нем нумерацию строк. Это было все задание. Я сделал на данный момент такое:
Листинг программы
  1. Sub SelectingRangeOfCellsUsingRangeAndCurrentRegion()
  2. Dim Coord As String
  3. Dim Msg As String
  4. Msg = "Enter the coord"
  5. Coord = InputBox(Msg)
  6. range(Coord).CurrentRegion.Select
  7. Dim cur_range As range
  8. With ActiveSheet
  9. Set cur_range = Selection
  10. cur_range.Activate
  11. For x = 1 To cur_range.Rows.Count
  12. For y = 1 To cur_range.Columns.Count
  13. СЮДА НАДО ДОПИСАТЬ
  14. if cur_range(x, y)
  15. Next y
  16. Next x
  17. End With
  18. End Sub
Теперь нужно в выделенном диапазоне найти первый столбец слева направо, в котором записаны даты. Подскажите, как это сделать?
нашел, TypeName, но каждый элемент массива cur_range определяется как range, надо как-то иначе определить тип, скорее всего не создавая массив, а сразу работать по выделенным ячейкам.
null
Вот, выделил нужный диапазон, теперь надо с ним все это сделать

Решение задачи: «Найти столбец, в котором записаны даты»

textual
Листинг программы
  1. Sub Sel()
  2. Dim i&
  3.   With Application.InputBox("Введите адрес диапазона или выделите его мышкой", Type:=8).CurrentRegion
  4.     For i = 1 To .Columns.Count
  5.       If VarType(.Cells(1, i).Value) = vbDate Then
  6.         .Sort .Cells(1, i), xlAscending, Header:=False
  7.         .Columns(1).Insert
  8.         With .Columns(1).Offset(, -1)
  9.           .Formula = "=ROW(R1:R" & .Rows.Count & ")"
  10.           .Value = .Value
  11.         End With
  12.         Exit Sub
  13.       End If
  14.     Next
  15.     .Select
  16.     MsgBox "Дата в первой строке диапазона не обнаружена", vbExclamation
  17.   End With
  18. End Sub

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

5   голосов , оценка 3.8 из 5

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут