У меня есть следующий код:
If strSheetDate < strFileNameDate Then
With WS1
.Rows(2).Insert Shift:=xlDown
.Cells(2, 1).Value = strFileNameDate
.Cells(2, 2).Value = WS3.Cells(2, 2).Value
.Cells(2, 3).Value = .Cells(1, 11).Value
.Cells(2, 4).Value = WS3.Cells(3, 2).Value
.Cells(2, 5).Value = .Cells(1, 13).Value
End With
End If
и я хотел бы поменять строку:
.Rows(2).Insert Shift:=xlDown
куда-то, где он только перемещает столбцы от A до E, так как я хотел бы использовать оставшуюся часть листа для получения дополнительных данных, но не хочу, чтобы он перемещался вниз при каждом запуске этого кода.
ура
РЕДАКТИРОВАТЬ Решение :
Благодаря двум пользователям, представленным ниже, у меня теперь есть следующие 2 набора кода, этот для простой вставки:
If strSheetDate < strFileNameDate Then
With WS1
.Range("A2:E2").Insert shift:=xlDown
.Cells(2, 1).Value = strFileNameDate
.Cells(2, 2).Value = WS3.Cells(2, 2).Value
.Cells(2, 3).Value = lngAuthormax
.Cells(2, 4).Value = WS3.Cells(3, 2).Value
.Cells(2, 5).Value = lngConsumermax
End With
End If
а вторая вставляет ячейку в диапазоне:
iRow2 = WS1.Cells(Rows.Count, 1).End(xlUp).Row
Set rngSheetDate2 = WS1.Range("A2:A" & iRow2)
For Each cell In rngSheetDate2
If cell.Value > strFileNameDate And cell.Offset(1, 0).Value < strFileNameDate Then
WS1.Range(cell.Offset(1, 0), cell.Offset(1, 4)).Insert Shift:=xlDown, _
CopyOrigin:=xlFormatFromLeftOrAbove
cell.Offset(1, 0).Value = strFileNameDate
cell.Offset(1, 1).Value = WS3.Cells(2, 2).Value
cell.Offset(1, 2).Value = lngAuthormax
cell.Offset(1, 3).Value = WS3.Cells(3, 2).Value
cell.Offset(1, 4).Value = lngConsumermax
Exit For
End If
Next
Спасибо