업무 스킬(72)
-
[엑셀 VBA] Private, Public 문을 사용하는 변수 사용
VBA초급 시절에는 모든 변수 설정은 Dim으로 하게 되지만 중급~고급으로 넘어가면서 만들어야 하는 Sub가 많아지면서 변수 선언이 많이 겹치게 된다. (특히 i as Integer 같은) 그럴 때 모든 Sub(프로시저)에서 똑같은 변수를 사용할 수 있게 하는 선언문이 있는데 바로 전역 변수의 선언문인 [Private] 와 [Public]이다. 사용법은 맨 위 예제를 보면 대충 감이 올 텐데 정의를 설명을 하자면 [Private] 문으로 선언된 변수는 같은 코드 창 내의 모든 프로시저가 공유해 사용을 하고 [Public] 문으로 선언된 변수는 공유 사용 + 먼저 작동된 프로시저의 변수에 대한 메모리가 저장된다는 점이다. 때문에, 각 Sub 별로 연결되는 변수 일 경우 [Public]을 쓰면 좋지만, 변수..
2020.06.30 -
[엑셀 VBA] CHART X,Y축 글씨 크기 변경
Chart를 형성하는 Macro Code는 늘 헷갈린다. 그중 초보자에게 가장 헷갈리는게 [축]인데 여기서 중요한 것은 [축]을 변수로 선언할 때에는 [Axis]로 그리고 CODE로 사용할 때에는 [Axes] 로 사용해야 한다는 것이다. ▶ Axes(1) : X축 Axes(2) : Y축을 뜻한다. 그리고 Chart를 사용하는 코드에서 기본적인 것은 ChartObjects([숫자])를 사용하여 현재 Sheet에 있는 Chart를 선택하고 그 후에, Chart를 추가로 입력후 메서드나 변경 함수를 써줘야 한다. 주의해야 할 점은 [ChartObjects([숫자]).Chart] 는 [ActiveChart]와 같으므로 만약 [ActiveChart]가 활성화 되어있다면 [ChartObjects([숫자]).Char..
2020.04.13 -
[엑셀 VBA] 빈 열(또는 행) 삭제하기
위와 같이 빈 셀이 중간중간 있는 DATA의 경우 빈 셀이 있는 열만 골라서 삭제 해주어 자동 정리 되는 매크로를 만들어보자 만들기 전에 알아야될 기본 코드를 먼저 설명하면 1) Activesheet.Usedrange @현재 Sheet의 모든 Data 범위 2) 범위.Columns.Count @선택된 Data 범위의 열 개수 3) Columns([숫자]). Entirecolumn @[숫자] 번째 열 전부 위 3개의 코드에 Excel에서 쓰이는 [CountA] 함수를 써서 빈 셀이 있는 열을 골라서 삭제해줄 거다 코드를 오래 짜 본 사람들은 대충 감이 올 거다 방식은 1. 범위를 정하고 2. 범위를 순서대로 훑는다. 3. IF문을 써서 빈셀을 찾아낸다. 빈칸을 찾아내는 코드는 IsEmpty도 있지만 VBA..
2019.12.29 -
[엑셀 VBA] FIND 함수 , FINDNEXT , DO ~LOOP Until 복합 사용 법.
VBA에서 자주 쓰는 FIND 및 FINDNEXT 함수 그리고 DO ~ LOOP Until 함수를 사용하여, 병합된 CELL을 병합 해제 하고 빈 셀에 값을 채워 넣는 코드를 만들어 보자. 위와 같이 B열의 고객 칸에 병합되어 있는 CELL들이 있을 경우 이 CELL들의 병합을 해제하고 A사 CELL에는 모두 A사를 채워 놓고 B사 영역에는 모두 B사를 채워 놓고 싶다. 자 코드의 순서는 아래와 같이 짜야 한다. 1) 병합 해제 -> Unmerge 2) 빈칸을 찾는다 - > FIND(What:="") 3) 다음 빈칸을 찾는다 - >FINDNEXT(After:=) 병합된 CELL의 병합을 해제하면 많은 빈셀들이 생겨나기 때문에 각 빈칸을 찾아줘야 한다. 4) 언제 까지 빈칸을 찾는가? 빈칸이 없을 때 까지..
2019.12.17 -
[엑셀 VBA] Function (Optional 키워드) 생략 가능한 인수를 사용하는 사용자 정의 함수
Function 프로시저를 이용해 사용자 정의 함수를 만들 때, Function 프로시저 안에 [Optional]이라는 키워드를 사용하면 생략 가능한 인수를 사용 가능하다. 위 코드를 보면 [총액]이라는 사용자 정의 함수에서 두 번째 [부가세]를 따로 입력하지 않았을 때, 기본 인수로 [별도] 가 들어가게 짜 놓은 코드이다. 예시를 보자 총액 사용자 정의 함수를 사용하여 부가세 방식을 활용하여 자동으로 총액이 나오게 만든 코드이다. [장비3]을 보면 부가세 방식이 빈칸이어서 [총액] 사용자 정의 함수를 다 사용하면 [장비3]에는 기본 인자가 들어가게 된다. 나는 코드에서 기본인자가 "별도"가 되도록 했기 때문에 [장비3]의 총액은 22000원이 되어야 할 것이다. 실행해 보면? 위와 같이 [장비3]의 총..
2019.12.15 -
[엑셀2016] 워터마크 넣기, (EXCEL2016 Water Mark)
몇 시간에 걸쳐 만든 내 엑셀 DATA 또는 내 엑셀 VBA. 옆 부서 김대리가 마음대로 갖다 쓰는데 동료나 상사는 그 자료가 김대리의 DATA 인지 안다?! 이때처럼 열 받는 경우는 없다. 내 엑셀에 워터막크를 넣는 방법을 알아보자 (초간단) 자 준비물은 워터마크로 쓸 이미지를 준비하면 된다. 이미지가 없다고? 어려워하지 말고 파워포인트로 들어가서 간단하게 하나 만들면 된다. 한가운데 적당한 워터마크로 쓸 글자 적어주고 색일 입혀준 뒤 캡처해서 저장하면 된다. 자 이제 엑셀에 들어가보자 [삽입] - [머리글/바닥글]을 선택한다 이후 아래와 같은 창이 뜨면 [그림]을 눌러 워터마크로 쓸 이미지를 선택해주자 선택해주고 아무 CELL이나 누르면 다음과 같은 결과 값을 얻는다. 워터마크로 쓰기에는 너무 글씨가..
2019.12.08