모의고사 점수, 대교협 양식에 맞게 바꾸는 엑셀 매크로

2024. 7. 3. 12:18Memo/code

엑셀의 VBA를 사용하여 Sheet2에 있는 데이터를 Sheet3로 옮기고, 이를 반복적으로 수행하는 매크로를 작성할 수 있습니다. 이를 통해 매번 데이터를 4칸씩 이동할 수 있습니다. 아래는 해당 작업을 수행하는 VBA 코드입니다.

  1. 엑셀 파일에서 VBA 매크로 작성하기:

    • 엑셀 파일을 엽니다.
    • Alt + F11을 눌러 VBA 편집기를 엽니다.
    • Insert > Module을 선택하여 새 모듈을 추가합니다.
    • 아래 코드를 복사하여 새 모듈에 붙여넣습니다.
Sub MoveCellsRepeatedly()
    Dim wsSource As Worksheet
    Dim wsTarget As Worksheet
    Dim lastRow As Long
    Dim i As Long

    ' 시트 설정
    Set wsSource = ThisWorkbook.Sheets("Sheet2") ' 데이터가 있는 시트 이름
    Set wsTarget = ThisWorkbook.Sheets("Sheet3") ' 데이터를 옮길 시트 이름

    ' 마지막 행 찾기 (source 시트 기준)
    lastRow = wsSource.Cells(wsSource.Rows.Count, "A").End(xlUp).Row

    ' 반복적으로 4칸씩 데이터를 옮기는 작업
    i = 1
    Do While wsSource.Cells(1, i).Value <> ""
        ' 4칸씩 이동
        wsSource.Range(wsSource.Cells(1, i), wsSource.Cells(1, i + 3)).Copy
        wsTarget.Cells(lastRow + 1, "A").PasteSpecial Paste:=xlPasteValues
        wsSource.Range(wsSource.Cells(1, i), wsSource.Cells(1, i + 3)).ClearContents

        ' 다음 4칸으로 이동
        i = i + 4
        lastRow = lastRow + 1
    Loop

    ' 선택 영역 클리어
    Application.CutCopyMode = False
End Sub
  1. 매크로 실행하기:

    • VBA 편집기를 닫고 엑셀로 돌아갑니다.
    • Alt + F8을 눌러 매크로 목록을 엽니다.
    • MoveCellsRepeatedly 매크로를 선택하고 실행을 클릭합니다.

이 매크로는 Sheet2의 첫 번째 행에서 데이터를 4칸씩 Sheet3의 마지막 행 다음에 계속 옮깁니다. Sheet2의 첫 번째 행의 데이터가 비어 있을 때까지 반복됩니다. 매번 데이터를 옮긴 후 원본 데이터를 삭제합니다.

이 매크로를 필요에 따라 반복적으로 실행할 수 있습니다. 매번 실행 시 새로운 데이터가 Sheet3에 추가됩니다. 시트 이름과 셀 범위를 실제 데이터에 맞게 조정하십시오.