반응형

EXCEL - VBA 103

피벗 테이블 새로 고침(2)

1. PivotTable과 PivotCache 가. PivotTables와 PivotTable The PivotTable object is a member of the PivotTables collection (피벗 테이블 객체는 피벗 테이블 집합의 구성원이다) The PivotTables collection contains all the PivotTable objects on a single worksheet. (피벗 테이블 집합은 한 개의 워크 시트에 있는 모든 피벗 테이블 객체를 포함한다) 나. PivotCaches와 PivotCachePivotCaches Object Represents the collection of memory caches from the PivotTable reports in..

EXCEL - VBA 2023.06.13

피벗 테이블 새로 고침(1)

1. 피벗 테이블 만들기 아래와 같이 일자별 지점별로 데이터를 집계한다고 할 경우 삽입 - 피벗 테이블을 누르면 범위가 자동으로 A1부터 C6셀까지 지정되고, 배치할 위치가 새 워크시트로 지정되므로 확인 버튼을 누릅니다. 그러면, 피벗 테이블 필드 창이 배치되는데, 일자와 지점명을 누르면 모두 행 영역에 배치되는데 지점명을 끌어서 열 영역으로 옮기고, 매출 필드를 클릭하면 숫자이므로 자동으로 값 영역으로 배치되고 합계가 표시됩니다. 만들어진 피벗 테이블의 모양은 아래와 같습니다. 행 레이블에 날짜, 열 레이블에 지점명, 그리고 가운데 값 영역에 일자별, 지점별 매출이 표시되고 있고, 맨 오른쪽에는 날짜별 총합계가 표시되고, 맨 아래 줄에는 총합계로 지점별 합계와 총합계가 표시되고 있습니다. 2. 새로 고..

EXCEL - VBA 2023.06.12

엑셀 VBA 개체 찾아보기

1. 개체 찾아보기 개발도구 - Visual Basic을 누른 후 표준 도구모음에서 개체 찾아보기 아이콘을 누르면 아래와 같은 창이 표시되는데, 위 쪽은 검색 결과, 그 아래는 클래스와 구성원, 그 아래는 설명창이 표시됩니다. 2. 클래스와 구성원(함수, 속성, 열거형, 상수) 검색어 입력 란에 border라고 입력하고 엔터 키를 누르면, border가 포함된 라이브러리, 클래스, 구성원이 검색 결과 목록에 표시되고, 그 아래는 선택된 클래스와 구성원이 표시됩니다. Borders 클래스 아래 Application. Color, ColorIndex, LineStyle 등 '모든 테두리에 실선으로 그리기' 글에서 표시한 속성들이 표시됩니다. https://lsw3210.tistory.com/entry/%EC..

EXCEL - VBA 2023.06.07

엑셀 VBA : 모든 테두리를 실선으로

1. 매크로 기록 - 모든 테두리를 실선으로 그리기 개발도구에서 매크로 기록을 누르고, 매크로 저장 위치를 '현재 통합문서'로 하고, 확인 버튼을 누르면 홈 탭, 테두리에서 모든 테두리를 클릭하고, 개발도구 - 매크로 중지를 누르면 아래와 같은 코드가 만들어집니다. Sub 매크로1() ' ' 매크로1 매크로 ' ' Range("A2:Q15").Select Selection.Borders(xlDiagonalDown).LineStyle = xlNone Selection.Borders(xlDiagonalUp).LineStyle = xlNone With Selection.Borders(xlEdgeLeft) .LineStyle = xlContinuous .ColorIndex = 0 .TintAndShade = 0..

EXCEL - VBA 2023.06.05

두 문장의 같은 단어 비교(4) - 어미, 조사 등 제거 도전

https://lsw3210.tistory.com/entry/%EB%91%90-%EB%AC%B8%EC%9E%A5%EC%9D%98-%EA%B0%99%EC%9D%80-%EB%8B%A8%EC%96%B4-%EB%B9%84%EA%B5%90 두 문장의 같은 단어 비교(1) - 매크로 작성 위와 같이 A1셀과 A2셀의 문장 2개를 비교해서 같은 단어일 경우는 글자 색을 빨간색으로 표시하는 것을 해보겠습니다. 1. 논리 A1셀과 A2셀을 각각 빈칸을 기준으로 문장을 나눈 다음 배열에 넣고, lsw3210.tistory.com 위 글을 쓸 때만 해도 어미 또는 조사 등을 제거하는 것이 어렵다고 생각하고 포기했는데, 간단하게라도 만들어 놓으면 완성하는 것은 사용자의 몫이 될 수도 있을 듯해 제한적으로나마 매크로를 작성해 ..

EXCEL - VBA 2023.05.11

두 문장의 같은 단어 비교(3) - 여러 줄 반복

2편까지는 2줄만 비교했는데, 여러 줄의 문장을 반복적으로 비교하는 것을 구현해 보겠습니다. 다시 말해 한 문장을 다른 문장들을 돌아가면서 2줄씩 비교해서 같은 단어가 있으면 빨간색으로 표시하는 것입니다. 1. 기존 매크로와 달라진 점 기존에는 A1셀과 A2셀만을 비교했는데, 변경된 것은 행을 이동하면서 2줄씩 비교합니다. 달라진 점은 아래와 같습니다. 기존 매크로 변경 매크로 Sub compare_setence() (변수 선언 1) 문장을 공백 한 칸 기준으로 분리해서 배열에 넣은 후 반복하기 위한 counter만 선언 i As Integer, j As Integer Sub compare_setence() (변수 선언 1) 줄 별로 비교하기 위해 줄 별 이동을 위한 counter 추가 K As Inte..

EXCEL - VBA 2023.05.10

두 문장의 같은 단어 비교(2) - 매크로 실행, 디버그

5. 매크로 실행 가. 단추 누르기 (1) '문장 비교' 단추 누르기 '문장 비교' 단추를 누르면 첫 줄에서는 '우리의', '자유와', '국민'이라는 글자가 빨간 색으로 바뀌고, 둘째 줄에서는 '우리의', '자유', '국민으로서,'가 빨간 색으로 바뀝니다. 포함관계를 따지기 때문에 '국민'과 '국민으로서'는 '국민'이 같기 때문에, '자유와'와 '자유'는 '자유'가 같기 때문에 빨간 색이 됐고, '우리의'는 첫째 줄과 둘째 줄이 똑 같아서 빨간 색이 됐습니다. (2) '초기화' 단추 누르기 초기화 버튼을 누르면 빨간 글자가 모두 검은 색 글자로 바뀝니다. 6. 디버깅 가. 중단점 설정 len1 줄 왼쪽 기둥(Side Bar)을 클릭해서 중단점을 설정합니다. 그러면 실행 아이콘(▶)을 눌렀을 때 중단점이 ..

EXCEL - VBA 2023.05.09

두 문장의 같은 단어 비교(1) - 매크로 작성

위와 같이 A1셀과 A2셀의 문장 2개를 비교해서 같은 단어일 경우는 글자 색을 빨간색으로 표시하는 것을 해보겠습니다. 1. 논리 A1셀과 A2셀을 각각 빈칸을 기준으로 문장을 나눈 다음 배열에 넣고, 배열끼리 비교해서 배열이 같을 때, 여기서는 포함될 때를 기준으로 판단하려고 합니다. 다시 말해 '국민'은 '국민의'에 포함되므로 같은 것이 되고, '국민의'와 '국민을'은 포함관계가 아니기 때문에 다른 것이 됩니다. 어간을 기준으로 비교하면 되는데, 그것이 어려워서 조건으로 못 넣었습니다. 2. 매크로 작성 아래와 같이 Sub 프로시저와 Function 프로시저로 구성되어 있습니다. 가. Sub 프로시저 compare_sentence(문장 비교), font_red(일치하는 배열의 글자색을 빨간색으로 변함..

EXCEL - VBA 2023.05.08

DateAdd함수 - 지정된 기간만큼 떨어진 날짜를 반환(2) - 값 자동 변경

1편에서 간격이 변경되더라도 매크로로 구한 DateAdd함수의 값이 바뀌지 않는다는 문제점을 지적했는데 이 것을 해결하는 방법을 알아보겠습니다. 1. Sheet1에 매크로 작성 일반적으로 매크로는 엑셀 파일 내에서 공통적으로 사용할 수 있도록 모듈을 추가한 다음 그곳에서 작성하는데 이렇게 하면 워크시트의 내용이 바뀌더라도 영향이 없습니다. 따라서, 탐색기 창에서 Sheet1을 더블 클릭한 후 오른쪽 에디터에서 일반을 누른 후 Worksheet객체를 선택하고, 오른쪽에서 Change 이벤트를 선택하면 자동으로 Private Sub Worksheet_Change 프러시저가 생갑니다 Worksheet_Change 프로시저이므로 워크시트 셀의 내용이 변할 때 이뤄지는 동작을 그 안에 기술하는 것입니다. 그 아래..

EXCEL - VBA 2023.04.19

DateAdd함수 - 지정된 기간만큼 떨어진 날짜를 반환(1)

1. 정의 워크시트의 edate함수는 지정된 월만큼 떨어진 날짜를 반환해 주는데, 이것도 비슷하면서 훨씬 다양한 기간을 지정할 수 있는 VBA의 함수가 DateAdd 함수입니다. 2. 구문 DateAdd(간격, 숫자, 날짜) - 간격(interval) : VBA DateDiff함수에서 사용되는 interval과 같습니다. Setting Description yyyy Year (연) q Quarter (분기) m Month (월) y Day of year (몇번째 날) d Day (일) w Weekday (같은 요일에 해당하는 주의 수) ww Week (firstdayofweek 설정에 따라 일요일인 경우는 일요일부터 일요일까지의 주의 수) h Hour (시) n Minute (분) s Second (초)..

EXCEL - VBA 2023.04.18
반응형