
У меня есть информация в 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
Конец субтитра