반응형

EXCEL - VBA 125

VBA 조건문(2) - Select Case(1)

값에 따른 처리를 할 때는 If문보다는 Select Case문을 사용하는 것이 편리합니다. 1. 구문 가. 구문 select case 문 다음에 있는 testexpression은 비교 대상을 설명하는 변수명이 되고, Case expressionlist-n은 변수명과 비교할 값의 나열이며, statements-n은 실행문이며, 여러 줄이 될 수 있습니다. Case Else는 If문의 else와 같이 위의 조건에 모두 충족되지 않는 경우 실행됩니다. elsestatements는 Case Else 조건에 부합할 경우 실행되는 문장입니다. Select Case 조건문은 End Select로 끝납니다. 나. case 다음의 비교할 값 표시 방법 ① 숫자 하나 입력 : case 2 식으로 case 다음에 값 입력 ..

EXCEL - VBA 2022.11.07

VBA 조건문(1) - If

프로그램을 제어하는 구문은 조건문과 반복문이 있으며, 조건문은 If문과 Select Case문이 있고, 반복문은 For문과 While문이 있습니다. 먼저 If문에 대해 알아보겠습니다. 1. 구문 위 구문에서 [ ] (대괄호) 안에 있는 문장은 옵션이므로 생략 가능합니다. 따라서, 가장 간단한 조건문은 If 조건 Then End If 가 됩니다. 아래와 같이 코드를 작성하려면 먼저 개발도구 - Visual Basic 명령을 누른 후 위 쪽 표준도구 모음에서 삽입 아이콘을 누른 후 모듈을 추가해야 합니다. Microsoft 도움말 사이트 If 조건문의 구문 설명에 Then이 대괄호 사이에 있어서 생략 가능하다는데, 지우면 Then 또는 GoTo가 필요하다고 하면서 에러가 나므로 꼭 있어야 합니다. 그리고 실..

EXCEL - VBA 2022.11.04

엑셀 VBA에서 셀 또는 범위 지정하기(3) - 여러 셀 또는 떨어진 셀

3. 여러 셀 지정하기 가. Range 이용하기 SUM 함수를 이용할 때처럼 Range 안에 셀 주소를 입력하여 범위를 지정할 수 있습니다. 연속된 범위는 :(콜론)을 사용하고 떨어진 범위는 ,(콤마)를 사용합니다. (1) 연속된 범위 지정 개발도구 - Visual Basic 명령을 눌러 Visual Basic Editor를 실행한 다음 모듈을 삽입하고, 오른쪽 코드 창에 아래 코드를 입력합니다. Sub 연속범위지정() Range("a1:a3").Select End Sub 그리고, 삼각형 모양의 아이콘을 누르거나, F5키를 눌러 실행하고, 엑셀 모양 아이콘을 눌러 엑셀로 돌아가 A1셀에서 A3셀까지 선택됩니다. 값을 입력하려면 지정된 범위 = 값 이라고 입력하면 됩니다. Sub 연속범위지정() Range..

EXCEL - VBA 2022.11.03

엑셀 VBA에서 셀 또는 범위 지정하기(2) - Cells

위 파일의 내용은 아래와 같습니다. 나. Cells 1) 구문 ① cells : 모든 셀 지정 ② cells(row index, column index) : 행과 열 인덱스에 해당하는 셀을 가르킴 2) 사례 ① 전체 셀 또는 개별을 선택하고 셀 값 표시하기 위 파일을 연 후 개발도구 - Visual Baisc을 클릭하여 Visual Basic Editor로 접근한 후 code 창에 아래 코드를 붙여 넣고 F5키를 눌러 실행하면 Sub 범위지정5() Cells.Select MsgBox (Selection.Address) Cells(2, 2).Select MsgBox (Selection.Address) MsgBox (Selection) End Sub 전체 셀을 선택한 후(cells.select) 메시지 박스..

EXCEL - VBA 2022.10.31

엑셀 VBA에서 셀 또는 범위 지정하기(1) - Range

엑셀은 셀은 기준으로 작업을 하게 됩니다. A1셀에 24를 입력하거나, B1셀에 A1에 2를 곱한 값을 입력하거나 모두 셀을 기준으로 작업을 하게 됩니다. 1. 준비 사항 새 통합 문서를 연 다음 개발도구 - Visual Basic 명령을 눌러 Visual Basic Editor를 연 다음 삽입 - 모듈 메뉴 또는 삽입 콤보 박스를 누른 다음 모듈을 클릭하여 모듈을 추가하면 그 아래 Module1이 있고, 오른쪽을 보면 빈 코드 창이 열립니다. 오른쪽 코드 창에 sub 범위지정까지 입력하면 그다음 괄호와 End Sub는 자동으로 입력됩니다. 단일 셀 또는 여러 셀을 다루는 방법을 알라보는데, 여러 셀을 연속되거나 연속되지 않을 경우를 나눠서 다뤄보겠습니다. 2. 단일 셀 지정하기 셀을 지정할 때는 Ran..

EXCEL - VBA 2022.10.25

범위 등을 입력받는 Application.InputBox 메소드(2)

1편에서 범위를 다뤘는데, Microsoft 도움말에 있는 예제를 하나 더 알아보겠습니다. 1. 3개 셀 선택 Sub Cbm_Value_Select() 'Set up the variables. Dim rng As Range 'Use the InputBox dialog to set the range for MyFunction, with some simple error handling. Set rng = Application.InputBox("Range:", Type:=8) If rng.Cells.Count 3 Then MsgBox "Length, width and height are needed -" & _ vbLf & "please select three cells!" Exit Sub End If 'Ca..

EXCEL - VBA 2022.10.21

범위 등을 입력받는 Application.InputBox 메소드(1)

아래 글에서 정해진 범위를 복사해서 정해진 영역에 붙여 넣는 매크로를 다뤄봤는데, https://lsw3210.tistory.com/m/163 아래와 같이 A1셀부터 A5셀까지 데이터가 있는데, B1셀에 붙여 넣으려면 위 글에 의한 방식으로 하면 Range("A1:A5").Copy Destination:=Range("B1")이라고 모듈 1에 작성하면 됩니다. 모듈을 작성하려면 개발도구 - Visual Basic 명령을 누른 다음 Visual Basic Editor에서 삽입 - 모듈 메뉴를 눌러 모듈을 추가한 다음 코드 창에 아래와 같이 입력하고 Sub 복붙1() Range("A1:A5").Copy Destination:=Range("B1") End Sub 복붙1이라는 sub 프로시저 안에 커서를 넣은 다..

EXCEL - VBA 2022.10.20

매크로 기록으로 엑셀 VBA의 내부를 보다

엑셀 VBA는 엑셀을 위한 Visual Basic이므로, 기본적으로는 Visual Basic으로 되어 있어 문법이 쉬운 편이지만, 엑셀에 특화되어 있기 때문에 엑셀의 특성을 잘 알아야 합니다. 엑셀은 셀을 기반으로 계산을 하고, 복사하고 붙여넣기, 차트 만들기 등 다양한 작업을 합니다. 복사하고 붙여 넣기를 매크로 기록으로 알아보고 매크로를 개선하는 방법을 알아보겠습니다. 1. 매크로 기록 A1셀의 값을 B1셀에 붙여 넣어 보겠습니다. 개발도구 - 매크로 기록을 누릅니다. 그러면 아래와 같이 매크로 이름 매크로1, 매크로 저장 위치가 현재 통합 문서로 지정되어 있는데, 바로 확인 버튼을 눌러도 되고, 바로 가기 키를 지정하거나 매크로 저장 위치를 개인용 매크로 통합 문서로 변경하거나 설명에 내용을 추가할..

EXCEL - VBA 2022.10.17

엑셀의 유용함, 사용자 지정 함수

1. 엑셀 내장 함수와 사용자 지정 함수 가. 엑셀 내장 함수 엑셀에는 많은 내장 함수가 존재합니다. fx라고 쓰여 있는 함수 삽입 아이콘을 누르면 최근에 사용한 함수가 선택되어 있고, 그 아래 모두, 재무, 날짜/시간 등 범주가 표시되고, 통계를 누르면 두 번째 average, 네 번째와 다섯 번째 averageif, averageifs 함수 등이 보입니다. 아래로 계속 내려가면 자주 사용하는 max, min, sum 등 함수도 보입니다. 위와 같이 자주 사용하는 함수를 엑셀을 미리 만들어 놓아서 사용자들이 사용하기 쉬운 환경을 만들어놓고, 계산을 쉽게 할 수 있도록 도와주는 것이 엑셀의 뛰어난 기능입니다. 나.사용자 지정 함수 사용자 지정 함수는 내장 함수로는 처리하기 어렵거나 복잡해지는 수식을 VB..

EXCEL - VBA 2022.10.07

엑셀의 표를 티스토리의 표로 변환하는 매크로(4) - 셀 병합2

1. 경우의 수 찾기 프로그램은 모든 경우의 수를 찾아서 그에 따른 처리를 해야 완벽한 프로그램이 됩니다. 하나라도 빠지면 불완전하고 이상한 결과를 낳게 되니 모든 경우의 수를 찾는 노력을 게을리 하면 안됩니다. 이것이 처리 로직을 짜는 것만큼 중요합니다. 위 표를 살펴보면 셀 병합이 된 경우도 있고, 안된 경우도 있고, 셀 병합도 가로 방향으로만 된 경우, 세로 방향으로만 된 경우, 두 방향 모두 셀 병합인 경우가 있습니다. 또한 글자도 굵은 글자가 있고, 보통 글자가 있고, 들여쓰기가 된 경우도 있고 아닌 경우도 있고, 데이터가 문자인 경우도 있고 숫자인 경우도 있습니다. 일반적으로 숫자는 천단위마다 콤마를 넣어서 표시합니다. 위와 같은 개별 요인들을 결합해서 모든 경우의 수를 도출하고 그에 따른 적..

EXCEL - VBA 2022.10.01
반응형