У меня есть даты в строке 2, и у меня есть следующий код для вставки столбца в зависимости от того, меньше ли дата в B1, чем дата в B2, C2 и т. Д. c ....
Sub Test3()
If DateValue(Cells(1, 2).Value) < DateValue(Cells(2, 2).Value) Then
Range("B2").EntireColumn.Select
Selection.Insert Shift:=xlToRight, CopyOrigin:=xlFormatFromLeftOrAbove
Cells(2, Selection.Column).Select
ActiveCell.Value = Range("B1")
ElseIf DateValue(Cells(1, 2).Value) < DateValue(Cells(2, 3).Value) Then
Range("C2").EntireColumn.Select
Selection.Insert Shift:=xlToRight, CopyOrigin:=xlFormatFromLeftOrAbove
Cells(2, Selection.Column).Select
ActiveCell.Value = Range("B1")
End If
End Sub
Приведенный выше код работает и добавляет столбец в нужном месте и помещает дату во второй строке столбца. Очевидно, мне было бы намного проще это сделать, но у меня проблемы с тем, чтобы заставить работать oop. Вот что у меня есть:
Sub DateLoopTest()
Dim i As Integer
i = 1
Do Until DateValue(Cells(1, 2).Value) < DateValue(Cells(2, i + 1).Value)
Cells(2, i + 1).EntireColumn.Select
i = i + 1
Loop
ActiveCell.EntireColumn.Select
Selection.Insert Shift:=xlToRight, CopyOrigin:=xlFormatFromLeftOrAbove
Cells(2, Selection.Column).Select
ActiveCell.Value = Range("B1")
End Sub
Я получаю ошибку во время выполнения '13': Несоответствие типов
Независимо от того, сколько я с этим связываюсь, я не могу его получить на l oop, как я хочу в моем первом примере. Любые предложения