반응형

filtermode 3

Range.AutoFilter Method(8) - 필터된 영역에 붙여넣기(2-3)

복사할 범위와 붙여 넣을 범위가 모두 필터링된 경우에 복사해서 붙여 넣기를 다뤄보겠습니다. 1. 작업 내용 사례로서 적합한 데이터는 아니지만 첫 번째 시트에는 가락2동으로 필터 된 데이터가 있고, 두 번째 시트는 가락1동으로 필터 된 데이터가 있어서 첫 번째 시트의 내용을 복사해서 두 번째 시트에 붙여 넣으면 9행이 아니라 숨겨진 행인 7,8행에 붙여 넣기가 됩니다. 따라서, 매크로를 작성해서 처리해야 합니다. 2. 논리 복사할 범위도 필터링되어 있기 때문에 for c in PasteRange for d in CopyRange 라고 CopyRange에서 화면에 보이는 셀(범위)만 하나씩 실행하는 것을 생각할 수 있는데, 이렇게 하면 이중 반복문이므로 붙여 넣을 범위의 행수 * 복사할 범위의 행수만큼 반복..

EXCEL - VBA 2023.03.13

Range.AutoFilter Method(5) - 필터된 영역에 붙여넣기(1)

1. 필터링된 경우에도 보이지 않는 셀까지 데이터가 붙여지는 문제점이 있음 위와 같은 데이터가 있을 경우 동명을 가락1동으로 필터링하면 아래와 같이 가락1동 관련 데이터만 표시되는데, H25셀부터 H34셀까지의 내용을 복사한 후 H2셀에 붙여 넣으면 10개를 복사했는데, H2셀부터 H9셀까지 6개만 붙여 넣어져서 4개는 사라졌습니다. 원인은 7행부터 8행까지와 10행부터 11행까지 숨겨진 행에도 붙여 넣어져서 그렇습니다. 홈 탭 > 정렬 및 필터 > 지우기를 눌러 모든 데이터를 표시하면 필터링된 경우에도 보이는 셀에만 복사되는 것이 아니라, 2행부터 11행까지 연속적으로 붙여 넣기가 됩니다. 그러나, 필터링된 데이터를 다른 곳에 붙여 넣는 것은 문제가 없습니다. 예를 들어 가락1동으로 필터링된 상태에서 ..

EXCEL - VBA 2023.03.08

Range.AutoFilter Method(3) - AutoFiterMode, FilterMode

1. AutoFilterMode 설정 및 해제 AutoFilterMode는 필터가 설정됐는지 여부를 저장한 값입니다. 다시 말해 DropDown Arrow가 표시되면 True이고, 없다면 False를 반환합니다. ActiveCell.AutoFilter를 실행하면 토글 기능이기 때문에 필터가 설정된 경우는 해제하고, 해제됐다면 설정을 반복합니다. Sub autofilter_set1() ActiveCell.AutoFilter ' If ActiveSheet.AutoFilterMode = False Then ' ActiveCell.AutoFilter ' End If End Sub 그러나 아래 주석을 풀고, ActiveCell.AutoFilter는 주석처리하고 실행하면 Sub autofilter_set1() ' ..

EXCEL - VBA 2023.03.06
반응형