본문 바로가기

Excel262

얼렁뚱땅 엑셀 VBA] 변수, 상수, 개체변수 변수 선언 엑셀에서 변수는 Dim 문으로 선언하고 Let 문으로 변수에 값 저장(Let 문은 생략 가능) Dim 변수명 As 데이터형식 Let 변수명 = 값 12345'예시) Dim test_변수 As String Let test_변수 = "toward th end..." 'Let 생략 가능cs 변수는 붙여서 한꺼번에 선언하는 것을 불가능하다. Dim 변수1, 변수2, 변수3 As Integer => 이런 방법 불가능(이렇게 선언할 경우 앞 2개는 Variant 형으로 선언한 것으로 처리) 올바른 방법은 아래. Dim 변수1 As IntegerDim 변수2 As IntegerDim 변수3 As Integer 또는 Dim 변수1 As Integer, 변수2 As Integer, 변수3 As Integer .. 2017. 5. 17.
얼렁뚱땅 엑셀 VBA] 프로시저 (Public / Private 프로시저) 프로시저(Procedure) 하나 또는 그 이상의 처리를 위한 구문의 묶음. VBA에서의 실행 명령. - Sub 프로시저 : 일반적인 처리를 위한 프로시저. 대표적 프로시저. 명령들의 흐름 - Funtion 프로시저 : 프로시저 내에서 어떤 처리를 하고 그 결과값을 반환하는 프로시저 - Property 프로시저 : 사용자가 속성을 만들거나 저장하는 프로시저(잘 사용하지 않음) Public / Private 프로시저 디폴트값은 Public 프로시저. Public 프로시저는 다른 모듈에서도 호출 가능(다른 프로시저를 호출하기 위해서는 Call 명령어 다음 프로시저 이름을 적는다) Private 프로시저는 다른 모듈에서는 호출 불가능 모듈 내의 모든 프로시저를 private 으로 선언하려면 모듈 내 첫번째 S.. 2017. 5. 16.
얼렁뚱땅 엑셀 VBA] With ~ End With 구문 VBA에서 동일한 개체에 대해 여러가지 작업을 하는 경우 With ~ End With문을 사용하길 권장한다. With ~ End With문의 구문은 아래와 같다. With 개체. 구성원 = 변경값. 구성원 = 변경값End With 일단 With ~ End With 문을 사용하지 않고 개체를 조작하는 예를 보자. 위 그림에서처럼 Range("A1") 개체를 반복해서 호출하면 그 개체를 매번 메모리에 로딩해야 하는 과정이 반복되기 때문에 효율이 떨어진다. 그렇기 때문에 아래 그림처럼 With ~ End With문을 사용하길 권장한다. 2017. 5. 15.
얼렁뚱땅 엑셀 VBA] 오브젝트(개체)를 간단하게 표현하고 접근하기 - 단축 접근자 개체를 조작하려고 할 때 개체모델의 계층에 따라 접근해야 한다. Application - Workbook - Worksheet - Range 순서로. Application.Workbooks("통합 문서1.xlsx").Worksheets("Sheet1").Range("A1").Value = "ttend.tistory.com" 버뜨. Applicatioin 개체는 엑셀 프로그램의 옵션을 변경하는 경우가 아니라면 보통 생략. Workbooks 개체는 기본값이 현재 열려있는 파일이므로 현재 열려있는 파일에서 작업하는 경우 생략 가능 Worksheets 개체도 기본값이 현재 열려있는 워크시트이므로 현재 작업중인 워크시트인 경우 생략 가능 그러므로 마지막 Range 개체만 사용하는 방법도 가능. 단축 접근자 엑셀은.. 2017. 5. 13.
엑셀TIP] 엑셀 인쇄에 불필요한 빈 페이지 인쇄되지 않게 하기 사무실의 윗분이 진지하게 물어보신다. "왜 엑셀은 인쇄할 때마다 불필요한 종이가 추가로 나오는거야? 내용은 2페이지더라도 3장이나 4장이 나오더라구. 종이 아깝게..." 그래서 찬찬히 설명해드리고 알려드렸다. 인쇄할 때 불필요한 페이지가 따라붙어서 인쇄되지 않도록 하는 방법을. ^^; 아래 그림은 2페이지 분량의 문서이다. 불필요한 페이지가 인쇄되는 경우는 문서작업이나 편집 때 보이지 않는 문자(주로 스페이스)가 입력되어서 그런 경우가 대부분이다. J17 셀에 스페이스를 한 칸 입력해보자. 페이지가 4페이지로 늘어나버렸따. 이렇게 눈에 보이지 않는 문자 때문에 인쇄 때 불필요한 페이지가 인쇄되는 상황이라고 가정하고 해결방법을 알아보자. 데이터가 없는 부분을 전부 삭제한다. 즉, 현재 데이터가 있는 부분의.. 2017. 5. 12.
얼렁뚱땅 엑셀 VBA] 오브젝트(개체), 컬렉션, 속성, 매서드 개념 오브젝트(object, 개체) 개체? 객체? 둘 다 의미하는지도 모르겠다. workbooks, worksheets, charts 등등 수십개의 개체가 있다. (50개 정도??) 엑셀에서 사용하는 모든 요소들이 개체라고 보면 될듯. 개체 안에 개체가 포함될 수도 있다. 이 경우 개체와 개체는 .(마침표)로 구분 Application.Workbooks("Book1").Worksheets("Sheet1").Range("A1") 개체는 그냥 오브젝트(개체)와 컬렉션 오브젝트 두 가지로 구분할 수 있다. 컬렉션(collection) 개체들의 집합 컬렉션 개체는 개체명 뒤에 복수형 s가 붙는다. (workbooks, worksheets, charts) 파일에 워크시트를 여러 개 추가했다면 이들 여러 개의 워크시트를.. 2017. 5. 11.
얼렁뚱땅 엑셀 VBA] MsgBox 사용자에게 전달할 내용이 있을 때 사용할 수 있는 도구.... 라고 하지만, 개발 공부 하면서 테스트용으로 많이 사용할 수 있을듯. MsgBox prompt, buttons, title, helpfile, context 1) prompt생략 불가능. 메시지 창에 표시될 텍스트 내용. 2) buttons메시지 창 아래쪽에 "확인", "취소" 등 버튼의 유형 등을 결정 3) title생략가능. 메시지 창의 상단 왼쪽 제목 부분에 나타날 문장. 4) helpfile생략가능. F1을 눌렀을 때 나타날 도움말 파일 지정 5) context앞에 helpfile을 지정했을 때 반드시 사용해야 하는 항목. (도움말 파일의 항목번호 지정) buttons 인수의 종류 상 수값설 명vbOKOn.. 2017. 5. 10.
엑셀차트] 선버스트 차트와 트리맵 차트 - 엑셀2016 엑셀2016부터 도입된 선버스트 차트와 트리맵 차트에 대해 정리해본다. 아래와 같은 자료가 있을 때 어떤 차트를 사용하는게 적절할까? 각 호선별 수송인원의 차이를 보여주려면 막대그래프가, 전체 수송인원에 대한 비율을 보려면 원 그래프가 적절할 수 있을 것이다. 그런데 한가지 여기서 더 고려해서 보여야 할 부분이 각 호선별 운영회사를 포함한 자료를 보여주고 싶다면???? 1~4호선을 운영하는 서울메트로와 5~8호선을 운영하는 도시철도공사의 내용도 함께 보여주고 싶다면 엑셀 2016부터 제공되는 선버스트 차트를 그려보자. 해당 데이터를 선택한 상태에서 선버스트 차트를 선택한다. 계층 구조와 데이터를 함께 보여준다는 선버스트 차트의 장점을 볼 수 있다. 이 차트에 항목(호선이름)과 함께 수송인원을 보여주려면 .. 2017. 5. 9.
엑셀] 화면에 페이지 표시되고 다른 곳은 회색으로 종종 받는 질문으로 엑셀 화면에 1페이지, 2페이지라고 페이지 번호가 나오고, 다른 페이지 경계는 굵은 파란 색 선이 들어가게 하는 방법이 뭐냐는 질문을 받는다. 그리고 출력할 데이터만 화면에 표시하고 나머지 부분은 회색으로 셀 경계선도 안 보이게 하는 방법이 뭐냐는 질문과 같이.. 아래 그림처럼 ^^; 엑셀 화면의 기본 설정이 엑셀 보기 메뉴 중에서 [통합문서보기 -기본]으로 되어 있는데 이것을 [보기 메뉴 - 페이지 나누기 미리 보기] 로 바꾸면 된다. [페이지 나누기 미리보기]로 설정하면 화면이 인쇄화면에 맞춰서 축소되는데 [보기 메뉴 - 확대/축소] 설정에서 적절하게 수정해주면 된다. 덧. 화면 확대는 제일 간단한 방법이 Ctrl키를 누른채 마우스 스크롤 버튼을 올리는 방법이다. - 엑셀TIP] .. 2017. 5. 8.