Вставьте диапазон ячеек вместо вставки всей строки - PullRequest
0 голосов
/ 26 марта 2019

У меня есть следующий код:

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

Спасибо

1 Ответ

2 голосов
/ 26 марта 2019

Попробуйте это:

.Range(.cells(2, 1), .cells(2, 5)).Insert Shift:=xlDown, CopyOrigin:=xlFormatFromLeftOrAbove
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...