答案1
该行为是设计使然;当您选择不连续的单元格并复制它们时,Excel 不会记住它们的原始位置。
解决方法:
- 每次将一个值复制到目标单元格。
- 首先复制整列,然后进行过滤以排除所有带有“Banana”的单元格并删除每隔一行的内容。
- 使用公式检查“香蕉”是否位于另一张工作表的同一单元格中,并且只有当它位于同一单元格中时才返回值。此公式应该有效:
=IF(B2="Banana",B2,"")
使用宏查看 B 列中的所有单元格,如果 D 列显示“Banana”,则将值复制到 D 列 Sub BananaCopy() Const csSrc As String = “B” Const csTgt As String = “D” Const csFruit As String = “Banana”
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
子目录结束