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

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

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

1 ответ1

0

Такое поведение разработано; когда вы выбираете несмежные ячейки и копируете их, 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
    

    End Sub

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