반응형

분류 전체보기 552

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

다. 복사할 범위로 여러 셀 지정후 붙여 넣을 범위에 붙여 넣는 매크로 작성 CopyRange가 2차원 배열이므로 2차원 배열에 맞게 매크로를 작성하였습니다. Sub FilteredRange_Copy5() Range("a2").Select If Not ActiveSheet.FilterMode Then Selection.AutoFilter 2, "가락1*" Set CopyRange = Application.InputBox("복사할 범위를 선택하세요.", Type:=8) Set PasteRange = Application.InputBox("붙여넣을 첫번째 셀을 선택하세요.", _ Type:=8, Default:=Range("a2").Address(0, 0)) Set PasteRange = Range(Past..

EXCEL - VBA 2023.03.10

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

이번에는 한 열이 아니라 25행에서 30행에 있는 A부터 K까지 열을 복사해서 붙여 넣기를 해보겠습니다. 1. Rows() 함수 이용 가. 모듈 삽입 줄 전체를 복사하는 것은 Rows 함수를 이용하여 쉽게 구현할 수 있습니다. 먼저 개발도구 - Visual Basic을 클릭해서 Visua Basic Editor로 들어간 다음 '서울시 지역 ....xlsx 파일이 선택된 상태에서 삽입 - 모듈을 누르거나 사용자 정의 폼 등 삽입을 위한 콤보 상자 버튼을 누른 후 모듈을 삽입합니다. 나. 매크로 작성 Range.AutoFilter Method(6) - 필터된 영역에 붙여넣기(1)의 FilteredRange_Copy3 sub 프로시저를 참고해서 만들었는데, CopyRange로 복사할 행의 한 열만 선택하도록 ..

EXCEL - VBA 2023.03.09

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(4) - SpecialCells(xlCellTypeVisible)(1)

필터로 조건을 걸면 조건에 해당되지 않는 행은 보이지 않고 조건에 맞는 행만 보이기 때문에 SpecialCells(xlCellTypeVisible)으로 VBA에서 데이터를 처리해야 합니다. 1. SpecialCells(xlCellTypeVisible) SpecialCells(xlCellTypeVisible)란 홈 탭 > 편집 그룹에 있는 찾기 및 선택을 누르고, 아래에서 이동 옵션을 누르면 나오는 이동 옵션 중 '화면에 보이는 셀만'에 해당합니다. 나머지 이동 옵션은 아래와 같습니다. 이름 값 설명 xlCellTypeAllFormatConditions -4172 조건부 서식 - 모두 xlCellTypeAllValidation -4174 데이터 유효성 - 모두 xlCellTypeBlanks 4 빈 셀 xl..

EXCEL - VBA 2023.03.07

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

Range.AutoFilter Method(2) - Field, Criteria, Operator, SubField, VisibleDropDown

(2) expression.AutoFilter(field, criteria1) expression.AutoFilter 안에 field가 있지만 명령어로 입력할 때는 괄호 없이 field:=2식으로 field다음에 :=을 입력하고, 필드 순번을 기재합니다. 또한 field만 값을 지정하면 activecell.autofilter와 결과가 같기 때문에 criteria1:="개포1동"이라고 조건까지 같이 지정하는 것이 바람직합니다. Sub autofilter_field1() ActiveCell.AutoFilter field:=2 , Criteria1:="개포1동" End Sub 1편에서도 언급했지만 A열 왼쪽에 빈 열을 삽입해도 동명의 필드는 2로 변함이 없습니다. 만약 autofilter_expression6..

EXCEL - VBA 2023.03.03

Range.AutoFilter Method(1) - expression.AutoFilter

1. 구문 VBA에서 사용하는 AutoFilter 메서드의 구문은 아래와 같습니다. expression.AutoFilter (Field, Criteria1, Operator, Criteria2, SubField, VisibleDropDown) ㅇ expression : Range 오브젝트를 반환하는 표현, 예, ActiveCell, Selection, Range("A1") 등 ㅇ Field : filter를 배치하려고 하는 영역의 offset(상대적 위치) 순번(index)으로 목록의 가장 왼쪽이 1 임. 따라서, 목록(list)이 A열부터 시작한다고 하면 A열이 1이지만, B열부터 시작한다고 하면 B열이 1이 됨 ㅇ Criteria1 : 조건1 ㅇ Operator : 필터에 적용되는 조건과 관련된 연산..

EXCEL - VBA 2023.03.02

조건부 서식과 색 기준 필터(2)

1. 인구 감소한 시군구를 논리식으로 알아보기 틀 고정을 하기 위해 B4 셀을 클릭하고, 보기 > 창 > 틀 고정 > 틀 고정을 클릭합니다. 2020년 대비 2021년 인구가 감소한 시군구를 찾으려면 먼저 i3셀에 =h3 스타일 > 조건부 서식을 클릭하고, 셀 강조 규칙 > 같음을 클릭합니다. 아래와 같이 조건과 서식을 지정할 수 있는 같음 창이 표시됩니다. 왼쪽 조건 란에는 True라고 입력하고, 적용할 서식은 '진한 녹색 텍스트가 있는 연한 녹색 채우기로 바꾸고 확인 버튼을 누릅니다. True가 False보다 훨씬 많지만, 어느 시군구가 해당되는지 확인하기가 복잡하므로 Shift + Ctrl + L키를 눌러 필터를 해제한 후 다시 필터를 적용합니다. 2021년까지만 필터가 적용됐는데 필드명은 없지만 ..

Excel 2023.03.01

조건부 서식과 색 기준 필터(1)

1. 최근 5년간 시군구 총인구수 자료 만들기 먼저 국가통계포털(https://kosis.kr/index/index.do)에 접속한 후 국내 통계 - 주제별 통계, 인구 > 인국총조사 > 인구부문 > 총조사인구(2015년 이후) > 전수부문 > 전수기본표에서 '인구, 가구 및 주택 - 읍면동, 시군구를 누릅니다. 그러면 기본값이 2021년도만 데이터를 보여주므로 콤보 상자 버튼을 누른 후 최근 5년으로 변경하고, 오른쪽 위 '다운로드' 버튼을 눌러 엑셀로 다운로드합니다. 그리고 파일을 열면 파일 형식과 확장명이 일치하지 않는다고 하면서 열 것인지를 묻는데, 예를 클릭합니다. 이것은 파일 형식은 xlsx인데, 확장명은 xls라 그런 것입니다. 연 다음 확장명을 xlsx로 바꾸는 것이 좋습니다. 다른 이름으..

Excel 2023.02.28
반응형