본문 바로가기

반응형

엑셀/VBA

VBA로 업체별 납품 품목 자동으로 작성되어 정리되도록 하기 II 이전 글(VBA로 업체별 납품 품목 자동으로 작성되어 정리되도록 하기 I)에서는 업체명, 품목 및 가격을 시트에 작성하고 VBA로 사용하기 위한 사용자 정의 폼을 디자인하였습니다. 이젠 실제적인 VBA 코드를 작성하여 디자인해 놓은 항목들이 제 기능을 발휘할 수 있도록 해보겠습니다. 1. 목록 상자 코드 입력 만들어 놓은 [그림 1]의 거래 입력 창에서 빨간색 사각형으로 표시한 물품 선택의 목록 상자를 선택하고 보기-코드를 클릭하여 코드창을 엽니다. 단축키는 F7키입니다. 그리고 아래와 같이 코드를 입력합니다. Private Sub ListBox1_Change() Select Case ListBox1.Value Case "토너(Black)" Label4.Caption = Format(8000, "#,##.. 더보기
VBA로 업체별 납품 품목 자동으로 작성되어 정리되도록 하기 I 업무에서 거래처별 납품 목록을 엑셀을 사용하여 관리하는 경우가 많습니다. 이때 일일이 기록하면서 좀 더 빠르고 편리하게 하는 방법은 없을까? 하는 생각을 누구나 한 번쯤 하게 됩니다. 이번에는 VBA를 이용하여 이런 생각을 실제 실현해보고자 합니다. 1. 엑셀에 기본 시트 만들기 우선 거래업체 및 품목 관련 데이터를 정리한 시트를 만들어 엑셀 파일로 저장하겠습니다. 엑셀 파일 첫 번째 시트에는 거래업체, 품목 및 가격을 정리해 놓습니다. [그림 1]과 같이 sheet1에는 거래 업체명, 물품 및 가격을 입력해 놓습니다. 그리고 업체명으로 이름 지은 시트를 추가합니다. 업체명으로 이름 지은 시트에도 '일자', '물품', '가격'이라는 제목을 작성해 놓습니다. 이제 sheet1에 개발도구-삽입-명령 단추(A.. 더보기
VBA 사용자 정의 폼을 사용하여 원하는 폼 만들어보기 VBA에서 함수를 이용하여 메시지 창 등을 사용하면 대화 상자를 쉽게 만들 수 있습니다. 하지만 이렇게 만든 대화 상자는 획일적인 모양이 되기 때문에 사용자 마음에 들지 않을 수도 있습니다. 내가 원하는 디자인으로 창을 꾸미길 원하는 경우 사용자 정의 폼을 이용하여 나만의 디자인으로 꾸미는 것입니다. 1. 사용자 정의 폼 열기 먼저 VBA를 사용하기 위해서는 개발도구 메뉴를 클릭하여 Visual Basic 편집기를 열어야 합니다. 개발도구 메뉴가 보이지 않으시면 이전 글인 엑셀 매크로 저장 및 사용하기 I를 참조하시기 바랍니다. 개발도구 메뉴를 클릭하시고 Visual Basic 아이콘을 클릭합니다. 이전글 엑셀에서 VBA 프로그램 작성하기를 참조하시어 Visual Basic 편집기를 엽니다. Visual.. 더보기
VBA 이벤트와 이벤트 프로시저 삽입하고 실행해보기 III 이전에는 통합 문서의 이벤트에 대해 알아봤습니다. 이번 시간에는 워크시트의 이벤트에 대해 알아보겠습니다. 1. 워크시트 이벤트 아래 표에 워크시트의 이벤트 몇 가지를 정리해 놓았습니다. 이벤트 설명 Active 워크시트가 활성화될 때 발생 BeforeDoubleClick 워크시트에서 더블 클릭할 때 발생 BeforeRightClick 워크시트에서 마우스 오른쪽 버튼을 클릭할 때 발생 Calculate 워크시트가 재계산될 때 발생 Change 워크시트에서 셀의 내용을 변경할 때 발생 Deactivate 워크시트가 비활성화될 때 발생 FollowHyperlink 워크시트에서 하이퍼링크를 클릭할 때 발생 PivotTableUpdate 피벗테이블 보고서를 업데이트하면 발생 SelectionChange 워크시트에.. 더보기
VBA 이벤트와 이벤트 프로시저 삽입하고 실행해보기 II 이전 글에서 VBA Workbook 이벤트 프로시저들에 대해서 알아봤으며 Open 이벤트 프로시저를 실제 예제로 알아봤습니다. 이번에는 나머지 이벤트 프로시저들을 실제 예제로 확인해보겠습니다. 1. Activate Open 이벤트 프로시저의 경우는 통합 문서가 열릴 때 실행되는 프로시저라면 Activate 이벤트 프로시저는 통합 문서가 활성화될 때 실행되는 프로시저입니다. Visual Basic Editor를 실행하고 '현재_통합_문서'를 더블 클릭한 후 개체 선택 사각 박스에서 'Workbook'을 선택합니다. 그리고 이벤트 프로시저 선택 사각 박스에서는 'Activate'를 선택합니다. 코드창에 다음과 같이 코드를 작성합니다. 개체 및 이벤트 프로시저 선택 사각 박스에 대해서는 이전 글에 설명되어 있.. 더보기
VBA 이벤트와 이벤트 프로시저 삽입하고 실행해보기 I 엑셀 작업을 할 때 통합 문서를 열거나 셀을 선택하거나 셀의 내용을 수정하는 등의 모든 작업이 이벤트에 해당합니다. 이런 이벤트가 발생하면 엑셀은 그와 관련되어 있는 이벤트 프로시저를 실행하게 됩니다. 즉 이벤트 프로시저는 이벤트가 발생했을 때 수행되어야 할 내용을 적어놓은 것입니다. 이벤트 프로시저의 장점은 이벤트가 발생하면 자동으로 실행되기 때문에 알맞은 이벤트 프로시저를 작성하므로 보다 빠르고 편리하게 엑셀 작업을 할 수 있습니다. 1. 이벤트 프로시저 삽입해보기 workbook과 관련된 이벤트 프로시저에 대해 알아보겠습니다. 먼저 엑셀에서 Visual Basic Editor를 열어 주세요. 여는 방법은 이전 글을 참조해 주시기 바랍니다. 이전에 VBA를 이용하여 통합문서를 다루는 것을 글로 알아봤.. 더보기
VBA로 간단한 입력과 출력 실행해보기 프로그램을 사용하다 보면 많은 대화 상자들을 만납니다. 단순히 결과를 알려주거나 정보를 제공해 주는 대화 상자도 있지만, 데이터를 입력받는 대화 상자도 있습니다. 이번에는 대화 상자를 사용하여 데이터를 입력받고 그 결과를 출력하는 방법에 대해 알아보겠습니다. 대화 상자를 사용하기 위해서는 함수를 사용합니다. 먼저 이들 함수에 대해 알아보겠습니다. 1. MsgBox 함수 MsgBox 함수는 사용자에게 정보나 결괏값을 알려주어 이의 확인이 필요할 때 주로 사용합니다. MsgBox 함수 사용은 다음과 같습니다. MsgBox 메시지, 버튼 / 메시지 아이콘, 창 제목 [버튼] 값 코드 설명 0 vbOkOnly 확인 버튼 생성 1 vbOkCancel 확인, 취소 버튼 생성 2 vbAbortRetryIgnore 중.. 더보기
VBA를 작성하여 엑셀 개체 다루기 VBA에서 엑셀의 구성요소들인 개체를 다루기 위해 Workbook, Worksheet, Range 등을 사용합니다. 엑셀의 각 개체들을 VBA로 어떻게 제어하는지 알아보겠습니다. 1. 통합 문서 다루기 VBA에서 통합 문서를 다룰 때 Workbook을 사용합니다. Workbook 개체를 대상으로 하는 주요 속성과 사용 방법을 알아보겠습니다. ① Application.Workbook.Count 현재 열려 있는 모든 통합 문서의 개수를 구합니다. ② Workbooks(1).Activate 현재 열려 있는 통합 문서 중에서 첫 번째 통합 문서를 활성화합니다. ③ Workbooks.Open(엑셀 파일명) 현재 폴더에 있는 엑셀 파일 중에서 지정한 엑셀 파일명의 통합 문서를 엽니다. ④ Workbooks.Clos.. 더보기

반응형
<--! 네이버 애널리틱스 시작작--> <--! 네이버 애널리틱스 끝끝-->