Notice
Recent Posts
Recent Comments
Link
«   2024/07   »
1 2 3 4 5 6
7 8 9 10 11 12 13
14 15 16 17 18 19 20
21 22 23 24 25 26 27
28 29 30 31
Archives
Today
Total
관리 메뉴

KSI일기장

액셀 VBA편집기 Module (메크로) 설정 및 사용 (행 자동 삽입) 본문

study

액셀 VBA편집기 Module (메크로) 설정 및 사용 (행 자동 삽입)

MyDiaryYo 2023. 12. 8. 13:37
  1.  

VBA 코드(메크로)를 실행하기위한 Module 설정은 다음 단계를 따르세요:

  1. 엑셀 파일을 열고 작업하려는 시트를 선택합니다.
  2. Alt + F11 키를 눌러 VBA 편집기를 엽니다.
  3. Insert 메뉴에서 Module을 선택하여 새 모듈을 추가합니다.
  4. 모듈에 코드를 복사하고 닫습니다.
  5. F5 키를 눌러 코드를 실행합니다.

 

 

EX)

C001 소통등급

C002 심각도

C003 돌발유형

C004 통행제한

위 처럼 여러 행이 붙어 있는 상태에서 행과 행 사이에 4개 행을 삽입 하는데 

행을 삽입할 때 첫번째 열에 있는 텍스트를 복사하면서 4개 행을 삽입하는 코드 입니다. 

 

VBA 편접기 메크로 Module 코드 

Sub InsertRowsWithCopy()
    Dim ws As Worksheet
    Dim lastRow As Long
    Dim currentRow As Long
    Dim numRowsToInsert As Integer
    Dim i As Integer

    ' 작업하려는 시트를 선택
    Set ws = ThisWorkbook.Sheets("Sheet1") ' 시트 이름에 맞게 변경

    ' 마지막 행 찾기
    lastRow = ws.Cells(ws.Rows.Count, "A").End(xlUp).Row

    ' 각 행과 행 사이에 4개의 행을 삽입하면서 첫 번째 열의 값을 복사
    currentRow = 1 ' 시작 행
    numRowsToInsert = 4 ' 삽입할 행의 개수

    Do While currentRow < lastRow
        For i = 1 To numRowsToInsert
            Rows(currentRow + i).Insert Shift:=xlDown
            ws.Cells(currentRow + i, 1).Value = ws.Cells(currentRow, 1).Value ' 첫 번째 열의 값을 복사
        Next i
        currentRow = currentRow + numRowsToInsert + 1
        lastRow = lastRow + numRowsToInsert
    Loop
End Sub

 

 

개발자 도구를 이용한 VBA코드 실행 방법

  1. 개발자 도구 열기:
    • 엑셀에서 "개발자" 탭을 표시하려면 다음 단계를 따르세요:
      • 파일(File) 메뉴에서 "옵션(Options)"을 선택합니다.
      • "리본(Ribbon)" 탭에서 "개발자 도구(Developer)" 옵션을 활성화합니다.
      • 확인(OK)을 클릭합니다.
  2. VBA 편집기 열기:
    • 개발자 탭에서 "Visual Basic"을 클릭하여 VBA 편집기를 엽니다.
    •  
  3. 모듈 선택:
    • VBA 편집기에서 프로젝트 탐색기(Project Explorer)에서 실행하려는 모듈을 찾습니다.
  4. 모듈 실행:
    • 모듈이 선택된 상태에서 F5 키를 누르거나, 상단 메뉴에서 "실행(Run)" -> "실행(Run)"을 선택하여 코드를 실행합니다.

 

 

 

 

 

 

 

                       결과: 

 

 

                                   ==>