У меня есть отфильтрованная электронная таблица, которая имеет 48 строк после фильтрации. Я пытаюсь скопировать и вставить верхние 24 строки в нижние 24 строки, но когда я выбираю верхние 24, он группирует их по 4 и вставляет только верхние 4. Я включил скриншот ниже.

Excel только выбирая 4 строки

Есть идеи?

2 ответа2

1

Это больше о том, что вам видно. Я подозреваю, что все работает нормально, но, поскольку вы отфильтровали строки, вы не видите его даже в вставке! Это потому, что Excel должен (я предполагаю) делать что-то для всей строки при фильтрации ...

У вас есть 2 варианта, чтобы обойти это, и более подробно объяснить это.

Предполагая, что вы отфильтровали данные от 1 до 50 строки. Вам нужно будет сделать свой выбор, скопировать (как у вас есть), но вставить его после строки 50 (с обычной вставкой). Затем вы увидите, что паста именно так, как вы хотите.

Если вы вставите в те же строки, что и отфильтрованная таблица, вы не сможете увидеть "правильную" вставку, пока не удалите фильтр (но вставленные значения будут там, где вы хотите.

Чтобы вставить в то же место (между строками 1 и 50), щелкните правой кнопкой мыши и выберите « paste special -> paste picture ... Да, он будет вставлен в виде картинки, поэтому вы не сможете использовать его для создания формулы, но в зависимости от ваших потребностей может быть достаточно

Другой вариант - вставить только видимые ячейки (хотя я не думаю, что это вам поможет)...

1) Copy the cells you want pasted.
2) Highlight range you want to paste in to
3) Go to Home ribbon, Editing box, Find & Select.
4) choose option - Go To Special
5) bottom right of the box choose Visible Cells only.
6) now paste.

Источник

Наконец, из того же источника, опция VBa (не тестировалась)

Sub Copy_Filtered_Cells()
    Set from = Selection
    Set too = Application.InputBox("Select range to copy selected cells to", Type:=8)
    For Each Cell In from
        Cell.Copy
        For Each thing In too
            If thing.EntireRow.RowHeight > 0 Then
                thing.PasteSpecial
                Set too = thing.Offset(1).Resize(too.Rows.Count)
                Exit For
            End If
        Next
    Next
End Sub

Как добавить VBA в MS Office?

0

Excel вставляет все 24 ячейки в нефильтрованную сетку, так что только первые четыре значения попадают в нужные ячейки. Другие копируются в скрытые строки, возможно, перезаписывая некоторые важные данные.

Это очень раздражающая особенность, но мы должны жить с этим.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .