본문 바로가기

매크로17

얼렁뚱땅 엑셀 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.
얼렁뚱땅 엑셀 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.
엑셀] 여러 셀의 텍스트 URL에 하이퍼링크 적용하기 웹에서 데이터를 수집하거나 작업중에 얻은 URL이 텍스트로 되어 있는 경우 여기에 하이퍼링크를 적용시켜야 할 때 사용하는 팁. 한 두 개의 하이퍼링크를 연결해야 할 경우에는 [삽입 탭 - 하이퍼링크] 주소에 url을 입력하면 된다. 하이퍼링크로 연결해야 하는 셀들이 위 그림처럼 많은 경우는 하나씩 하이퍼링크로 연결하기보다 Hyperlink 함수를 사용하는 것이 효율적이다. 매크로를 이용해서 작업해야 할 경우는 아래 매크로 VBA코드 참고(하이퍼링크를 연결할 셀들을 블록으로 설정한 상태에서 매크로 실행) Sub HyperAdd() 'Converts each text hyperlink selected into a working hyperlink For Each xCell In Selection ActiveS.. 2016. 10. 14.
한컴오피스 한글] 매크로 기능으로 모든 그림 테두리 넣기 한글의 매크로 기능은 엑셀같은 MS 오피스 프로그램의 매크로랑 비교하면 사용이 조금 더 어렵다. (어렵다는 말이 외교적 수사 같지만...) 개인적으로 실패 확률이 높은거 같다. ㅋ 기본적인 사용방법은 1. 매크로 정의 버튼을 누르고 매크로 기록 시작2. 키보드 또는 마우스의 동작을 기록3. 매크로 기록 중지로 매크로 작성 끝.4. 매크로를 실행한다. ... 로 되어 있으나 마우스 동작은 인식하지 못하는듯 싶다. 그리고 더해서 매크로 작성에서 실패하는 개인적 경험들을 보태면 - 단축키가 지정되지 않은 메뉴를 불러오기 힘들다. - 어떤 메뉴는 열었을 때 초기값이 아니고, 마지막으로 불렀던 항목이 지정된 상태로 열리는 경우도 있다. (Alt+G로 찾아가기 메뉴를 부르면 초기값은 "쪽"이지만 조판부호로 어떤 항.. 2016. 9. 10.