전체 글 141

Deactivate 이벤트

엑셀 VBA에서 Deactivate 이벤트는 특정 워크북(Workbook) 또는 워크시트(Worksheet)가 비활성화될 때 실행되는 이벤트입니다.즉, 사용자가 다른 시트나 다른 워크북으로 이동할 때 특정 동작을 자동으로 실행할 수 있습니다.1. 기본 문법📌 Workbook_Deactivate 이벤트 (워크북이 비활성화될 때)Private Sub Workbook_Deactivate() ' 실행할 코드End Sub📌 현재 워크북에서 다른 워크북으로 이동할 때 실행됨📌 이 코드는 ThisWorkbook 모듈에 작성해야 함📌 Worksheet_Deactivate 이벤트 (워크시트가 비활성화될 때)Private Sub Worksheet_Deactivate() ' 실행할 코드End Sub📌 현재 시트에서..

Event 2025.03.17

SelectionChange 이벤트

엑셀 VBA에서 SelectionChange 이벤트는 사용자가 워크시트에서 셀을 선택(클릭 또는 이동)할 때 실행되는 이벤트입니다.즉, 셀을 선택할 때마다 특정 동작을 자동으로 실행할 수 있습니다.1. 기본 문법Private Sub Worksheet_SelectionChange(ByVal Target As Range) ' 실행할 코드End Sub매개변수설명Target사용자가 선택한 셀 범위 (Range 개체)📌 이 코드는 특정 워크시트(Sheet1, Sheet2 등)의 코드 모듈에 작성해야 함📌 셀을 클릭하거나 이동할 때마다 실행됨2. 셀을 선택할 때 메시지 표시Private Sub Worksheet_SelectionChange(ByVal Target As Range) MsgBox "선택한 셀: " ..

Event 2025.03.17

Change 이벤트

엑셀 VBA에서 Change 이벤트는 사용자가 특정 워크시트의 셀 값을 변경할 때 실행되는 이벤트입니다.즉, 셀의 값이 변경될 때마다 특정 동작을 자동으로 수행할 수 있습니다.1. 기본 문법Private Sub Worksheet_Change(ByVal Target As Range) ' 실행할 코드End Sub매개변수설명Target변경된 셀 범위 (Range 개체)📌 이 코드는 특정 워크시트(Sheet1, Sheet2 등)의 코드 모듈에 작성해야 함📌 셀 값이 변경될 때만 실행됨 (단, SelectionChange와 다르게 값이 변경되지 않으면 실행되지 않음)2. 셀 값이 변경되면 메시지 표시Private Sub Worksheet_Change(ByVal Target As Range) MsgBox "변경..

Event 2025.03.17

OnTime 이벤트

엑셀 VBA에서 Application.OnTime 이벤트는 특정 시간에 매크로를 자동으로 실행하는 기능을 제공합니다.즉, 예약된 시간에 원하는 작업을 실행하거나 일정 간격으로 반복 실행할 수 있습니다.1. 기본 문법Application.OnTime EarliestTime, Procedure, [LatestTime], [Schedule]매개변수설명EarliestTime실행할 시간 (Now + TimeValue("00:00:10") → 10초 후 실행)Procedure실행할 매크로 이름 (문자열)LatestTime (선택)최대 실행 허용 시간Schedule (선택)True(기본값): 예약, False: 예약 취소📌 Application.OnTime은 VBA에서 타이머 역할을 할 수 있음📌 예약된 매크로를..

Event 2025.03.17

On Error 문

엑셀 VBA에서 On Error 문은 코드 실행 중 발생하는 오류를 처리하는 기능을 제공합니다.즉, 오류가 발생했을 때 코드가 중단되지 않고, 원하는 방식으로 오류를 처리하도록 도와줍니다.1. 기본 문법On Error GoTo 라벨오류가 발생하면 지정한 라벨로 이동하여 오류 처리 코드 실행On Error Resume Next오류가 발생해도 무시하고 다음 코드 실행On Error GoTo 0오류 처리를 비활성화하고 기본 오류 메시지를 표시2. On Error GoTo (오류 발생 시 특정 위치로 이동)Sub 오류_처리_GoTo() On Error GoTo 오류처리 ' 오류 발생 시 오류처리 라벨로 이동​ Dim x As Integer x = 10 / 0 ' 0으로 나누기 오류 발생​ Exit Sub ' 정..

제어문 2025.03.17

For Each 문

엑셀 VBA에서 For Each 문은 컬렉션(Collection)이나 배열(Array)의 모든 요소를 반복할 때 사용됩니다.즉, 각 요소를 하나씩 자동으로 가져오며 루프를 실행하는 방식입니다.1. 기본 문법For Each 요소변수 In 컬렉션 ' 실행할 코드Next 요소변수요소변수 → 반복문에서 개별 항목을 담을 변수컬렉션 → Range, Sheets, Workbooks, Shapes, Array 등 여러 개의 요소가 있는 개체📌 컬렉션(집합형 데이터)에서 요소를 하나씩 순서대로 가져옴📌 배열(Array), 범위(Range), 워크시트(Sheets), 셀(Cells), 파일(File) 등에 사용 가능2. 기본 사용 예제 (For Each로 범위 내 모든 셀에 값 입력)Sub 기본_ForEach() D..

제어문 2025.03.17

Do...Loop 문

엑셀 VBA에서 Do...Loop 문은 조건을 만족할 때까지 반복 실행하는 루프 구조입니다.즉, 반복 횟수가 정해져 있지 않은 경우 유용합니다.1. 기본 문법(1) Do While...Loop 문Do While 조건 ' 실행할 코드Loop조건이 **참(True)**이면 루프 실행조건이 **거짓(False)**이면 루프 종료(2) Do Until...Loop 문Do Until 조건 ' 실행할 코드Loop조건이 **거짓(False)**이면 루프 실행조건이 **참(True)**이면 루프 종료(3) Do...Loop While 문Do ' 실행할 코드Loop While 조건무조건 한 번 실행 후 조건이 참이면 루프 반복(4) Do...Loop Until 문Do ' 실행할 코드Loop Until 조건무조건 한 번 ..

제어문 2025.03.17

For...Next 문

엑셀 VBA에서 For 문은 반복적으로 특정 작업을 수행할 때 사용됩니다.즉, 코드를 여러 번 실행하거나, 일정한 규칙으로 값들을 처리할 때 유용합니다.1. 기본 문법(1) For...Next 문For 변수 = 시작값 To 종료값 [Step 증가값] ' 반복할 코드Next 변수변수 → 반복을 제어하는 변수시작값 → 반복을 시작할 값종료값 → 반복이 끝나는 값Step 증가값 (선택 사항) → 반복 시 변수의 증가 값 (기본값: 1)2. 기본 사용 예제Sub 기본_For() Dim i As Integer​ For i = 1 To 5 MsgBox "반복 횟수: " & i Next iEnd Sub📌 출력: "반복 횟수: 1", "반복 횟수: 2", ..., "반복 횟수: 5"📌 1부터 5까지 반복 실행3. ..

제어문 2025.03.17

If 문

엑셀 VBA에서 If 문은 조건을 확인하고 특정 작업을 실행하는 제어문입니다.즉, 주어진 조건이 참(True)일 때만 특정 코드 블록을 실행할 수 있습니다.1. 기본 문법If 조건 Then ' 실행할 코드End If조건 → True 또는 False를 반환하는 표현식조건이 True이면 코드 실행, False이면 실행 안 함2. 기본 사용 예제Sub 기본_If() Dim 점수 As Integer 점수 = 85​ If 점수 >= 80 Then MsgBox "합격입니다!" End IfEnd Sub📌 출력: "합격입니다!"📌 점수가 80 이상이면 메시지 출력3. If...Else 문 사용Sub If_Else_사용() Dim 점수 As Integer 점수 = 65​ If 점수 >= 80 Then MsgBox "..

제어문 2025.03.17

InStr 함수

엑셀 VBA에서 InStr 함수는 문자열 내에서 특정 문자열(또는 문자)이 처음 나타나는 위치를 찾는 데 사용됩니다.즉, 어떤 문자열이 포함되어 있는지 확인하거나, 문자열을 추출할 때 유용합니다.1. 기본 문법InStr([시작위치], 문자열, 찾을문자열, [비교방식])시작위치 (선택 사항) → 검색을 시작할 위치 (기본값: 1)문자열 → 검색할 원본 문자열찾을문자열 → 찾고 싶은 문자 또는 문자열비교방식 (선택 사항) → vbBinaryCompare (대소문자 구분) 또는 vbTextCompare (대소문자 무시)2. 기본 예제📌 문자열에서 특정 단어 위치 찾기Sub InStr_기본() Dim 위치 As Integer 위치 = InStr(1, "나는 VBA를 공부한다", "VBA") MsgBox "VB..

VBA Function 2025.03.17