Вставка Excel - Как сохранить связь ячейки и строки при вставке

Вставка Excel - Как сохранить связь ячейки и строки при вставке

У меня есть информация в Excel в нескольких строках. Я хочу скопировать и вставить выбранные ячейки и сохранить каждое значение ячейки в той строке, из которой оно было скопировано. Но каждый раз, когда я копирую значения, они группируются вместе в строках рядом друг с другом.

Я включил изображение, чтобы проиллюстрировать, что я хочу и как это на самом деле получается. Я выбираю ячейки в столбце B со значением «Банан» (B2 и B4). Когда я вставляю, я хочу, чтобы они выглядели как в столбце D (D2 и D4). Но на самом деле получается результат в столбце F (F2 и F3).

Я использую Excel 2016.

введите описание изображения здесь

решение1

Такое поведение является намеренным: когда вы выделяете несмежные ячейки и копируете их, Excel не запоминает их исходное местоположение.

Обходные пути:

  • Скопируйте значения по одному в целевые ячейки.
  • Сначала скопируйте весь столбец, затем отфильтруйте его, чтобы исключить все ячейки со словом «Банан» и удалить содержимое из каждой второй строки.
  • Используйте формулы, чтобы проверить, находится ли "Банан" в той же ячейке на другом листе, и возвращайте значение только в том случае, если это так. Эта формула должна работать:=IF(B2="Banana",B2,"")
  • Используйте макрос для просмотра всех ячеек в столбце B и дублирования значения в столбце D, если там указано «Банан» Sub BananaCopy() Const csSrc As String = «B» Const csTgt As String = «D» Const csFruit As String = «Банан»

    Dim rngFruits As Range, rngCell As Range
    
    Set rngFruits = Range(csSrc & 1, csSrc & Rows.Count)
    For Each rngCell In rngFruits
        If rngCell.Value = csFruit Then
            Range(csTgt & rngCell.Row).Value = csFruit
        End If
    Next rngCell
    

    Конец субтитра

Связанный контент