
답변1
해당 동작은 의도적으로 설계된 것입니다. 연속되지 않은 셀을 선택하고 복사하면 Excel에서 원래 위치를 기억하지 못합니다.
해결 방법:
- 한 번에 하나씩 값을 대상 셀에 복사합니다.
- 먼저 전체 열을 복사한 다음 필터링하여 "Banana"가 포함된 모든 셀을 제외하고 다른 모든 행의 내용을 삭제합니다.
- 수식을 사용하여 "바나나"가 다른 시트의 동일한 셀에 있는지 확인하고, 해당 셀에만 값을 반환합니다. 이 공식은 작동합니다:
=IF(B2="Banana",B2,"")
매크로를 사용하여 B 열의 모든 셀을 살펴보고 "Banana"라고 표시된 값을 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
서브 끝