“VBA로 Excel 파일을 자동으로 입력하는 방법과 예시 코드”

이번 블로그에서는 예제 코드와 함께 VBA를 사용하여 Excel 파일에 데이터를 자동으로 입력하는 방법을 보여 드리겠습니다.

VBA를 사용하면 반복적인 작업을 자동화하고 시간과 노력을 절약할 수 있습니다.

VBA 코드 예제를 통해 자세히 알아보세요.

1. VBA를 사용하여 Excel 파일에 데이터를 입력합니다.

VBA(Visual Basic for Application)는 Microsoft Office 프로그램에 내장된 프로그래밍 언어로 Excel을 비롯한 Office 프로그램의 기능을 확장하는 데 사용됩니다.

VBA를 사용하여 Excel 파일에 데이터를 자동으로 입력하는 방법은 다음과 같습니다.

1.1 VBA 프로젝트 시작하기

1) 엑셀을 실행하고 개발도구 탭에서 “Visual Basic” 버튼을 클릭하세요. (엑셀 2010 이후 버전에서는 기본적으로 개발자 탭이 보이지 않을 수 있습니다.

이 경우 “파일” > “옵션” > “리본 탭 사용자 정의”로 이동하여 “개발자” 옵션을 선택하세요.) 2) 시각적인 경우 기본 편집기 창이 열리고 프로젝트 탐색기가 왼쪽 창에 나타납니다.

창에서 “VBAProject(프로젝트 이름)”을 선택하고 마우스 오른쪽 버튼을 클릭한 후 “삽입” > “모듈”을 선택합니다.

1.2 데이터 입력

1) VBA 코드를 작성하기 전, 데이터를 입력할 엑셀 파일을 선택하세요. 2) Visual Basic 편집기 창에서 모듈 내부에 다음 코드를 작성합니다.

“`VBA
하위 자동입력()
‘하나. 데이터를 입력할 시트를 선택하세요.
시트(“시트1”).’2를 선택합니다.

데이터 입력
범위(“A1”).값 = “이름”
범위(“B1”).값 = “연령”
Range(“A2”).Value = “홍길동”
범위(“B2”).값 = 30
Range(“A3”).Value = “강감찬”
범위(“B3”).값 = 40 ‘3. 작업 완료 후 저장
ActiveWorkbook.Save ‘4. 작업 완료 후 Excel 창을 닫습니다.


ActiveWindow.Close
서브 끝
“` 3) 코드를 실행하려면 F5 키를 누르거나 상단 메뉴에서 “실행” > “실행”을 선택하세요. 코드가 실행되면 지정된 데이터가 Excel 파일에 입력됩니다.

1.3 매크로로 지정

위 코드를 VBA 프로젝트에 저장하고 매크로로 지정할 수 있습니다.

이를 통해 매크로를 실행하는 바로가기 또는 버튼을 통해 데이터 입력 작업을 수행할 수 있습니다.

1) 코드 작성 후, 상단 메뉴에서 “파일” > “선택한 파일명 저장”을 선택하세요. 파일 형식을 “매크로 사용 문서”로 설정하고 저장합니다.

2) 매크로를 실행하려는 Excel 파일의 위치에 단축키, 버튼 또는 개체를 추가합니다.

(예: “데이터 입력”이라는 버튼 추가) 3) “개발 도구” 탭에서 “매크로”를 선택하여 매크로를 지정합니다.

매크로 목록에서 지정된 매크로를 선택한 다음 바로가기 키나 버튼을 할당하세요. 버튼을 클릭하면 데이터 입력 작업이 실행됩니다.

VBA

2. VBA를 사용하여 Excel 파일에 반복적으로 데이터를 입력합니다.

VBA를 사용하면 코드를 한 번만 작성하여 반복적인 작업을 자동화할 수 있습니다.

Excel 파일에 데이터를 반복적으로 입력하는 방법은 다음과 같습니다.

2.1 루프 사용하기

1) VBA 코드를 작성하기 전, 데이터를 입력할 엑셀 파일을 선택하세요. 2) Visual Basic 편집기 창에서 모듈 내부에 다음 코드를 작성합니다.

“`VBA
하위 자동 입력 루프()
‘하나. 데이터를 입력할 시트를 선택하세요.
시트(“시트1”).’2를 선택합니다.

데이터 입력
범위(“A1”).값 = “이름”
범위(“B1”).값 = “나이” ‘3. 데이터 배열 정의
희미한 이름()을 문자열로
Dim age() 정수 이름 = Array(“홍길동”, “강감찬”, “이순신”, “유관순”)
age = 배열(30, 40, 50, 20) ‘4. 루프를 통한 데이터 입력
i = 1 To UBound(names) + 1
범위(“A” & (i + 1)).값 = 이름(i – 1)
범위(“B” & (i + 1)).값 = 연령(i – 1)
다음은 ‘5. 작업 완료 후 저장
ActiveWorkbook.Save ‘6. 작업 완료 후 Excel 창을 닫습니다.


ActiveWindow.Close
서브 끝
“` 3) 코드를 실행하려면 F5 키를 누르거나 상단 메뉴에서 “실행” > “실행”을 선택하세요. 코드가 실행되면 엑셀 파일에 지정된 데이터가 반복적으로 입력됩니다.

2.2 루프를 이용한 동적 데이터 입력

때로는 입력할 데이터 개수가 정해져 있지 않은 경우도 있습니다.

이 경우 루프 문을 사용하여 데이터를 동적으로 입력할 수 있습니다.

다음은 동적으로 데이터를 입력하는 예제 코드입니다.

“`VBA
하위 자동 입력동적()
‘하나. 데이터를 입력할 시트를 선택하세요.
시트(“시트1”).’2를 선택합니다.

데이터 입력
범위(“A1”).값 = “이름”
범위(“B1”).값 = “나이” ‘3. 데이터 배열 정의
희미한 이름()을 문자열로
Dim age() 정수 이름 = Array(“홍길동”, “강감찬”, “이순신”)
age = Array(30, 40, 50) ‘4. 루프를 통한 데이터 입력
i = 1 To UBound(names) + 1
범위(“A” & (i + 1)).값 = 이름(i – 1)
범위(“B” & (i + 1)).값 = 연령(i – 1)
다음은 ‘5. 작업 완료 후 저장
ActiveWorkbook.Save ‘6. 작업 완료 후 Excel 창을 닫습니다.


ActiveWindow.Close
서브 끝
“` 위의 예에서는 “이름” 배열의 길이에 따라 데이터가 입력되며, 배열의 길이에 따라 데이터의 개수가 동적으로 조정될 수 있습니다.

3. VBA를 사용하여 다른 Excel 파일의 데이터 읽기

VBA를 사용하여 다른 Excel 파일의 데이터를 읽을 수도 있습니다.

다음은 다른 Excel 파일에서 데이터를 읽는 예제 코드입니다.

3.1 데이터 읽기

1) VBA 코드를 작성하기 전에 데이터를 읽어올 엑셀 파일을 선택하세요. 2) Visual Basic 편집기 창에서 모듈 내부에 다음 코드를 작성합니다.

“`VBA
하위 자동읽기데이터()
‘하나. 데이터를 읽어올 시트 선택
시트(“시트1”).’2를 선택합니다.

데이터 읽기
Dim sourceWorkbook을 통합 문서로 사용
sourceSheet를 워크시트로 희미하게 표시 ‘3. 데이터를 읽을 파일을 선택하세요.
sourceWorkbook = Workbooks.Open(“C:\path\to\source.xlsx”) ‘4. 설정합니다.

데이터 읽기
sourceSheet = sourceWorkbook.Sheets(“Sheet1”) Range(“A1”).Value = sourceSheet.Range(“A1”).Value 설정
Range(“B1”).Value = sourceSheet.Range(“B1”).Value ‘5. 작업 완료 후 저장
ActiveWorkbook.Save ‘6. 작업 완료 후 Excel 창을 닫습니다.


ActiveWindow.Close
서브 끝
“` 3) 코드를 실행하려면 F5 키를 누르거나 상단 메뉴에서 “실행” > “실행”을 선택하세요. 코드가 실행되면 다른 Excel 파일의 데이터를 읽어 현재 Excel 파일에 입력합니다.

3.2 데이터를 읽고 다른 파일에 입력하기

다른 엑셀 파일의 데이터를 읽어서 현재 엑셀 파일에 입력하는 것이 아니라 다른 파일에 데이터를 입력하고 싶은 경우에는 다음과 같이 코드를 수정하면 됩니다.

“`VBA
하위 자동읽기앤쓰기데이터()
‘하나. 데이터를 읽어올 시트 선택
시트(“시트1”).’2를 선택합니다.

데이터 읽기
Dim sourceWorkbook을 통합 문서로 사용
Dim targetWorkbook을 통합 문서로 사용
소스시트를 워크시트로 희미하게 표시
targetSheet를 워크시트로 희미하게 표시 ‘3. 데이터를 읽을 파일을 선택하세요.
sourceWorkbook = Workbooks.Open(“C:\path\to\source.xlsx”) ‘4. 설정합니다.

데이터 읽기
sourceSheet = sourceWorkbook.Sheets(“Sheet1”) 설정 ‘5. 데이터 읽기
범위(“A1”).값 = sourceSheet.Range(“A1”).값
Range(“B1”).Value = sourceSheet.Range(“B1”).Value ‘6. 데이터를 입력할 파일을 선택하세요
set targetWorkbook = Workbooks.Open(“C:\path\to\target.xlsx”) ‘7. 데이터를 입력할 시트를 선택하세요.
set targetSheet = targetWorkbook.Sheets(“Sheet1”) ‘8. 데이터 입력
targetSheet.Range(“A1”).Value = 범위(“A1”).Value
targetSheet.Range(“B1”).Value = Range(“B1”).Value ‘9. 작업 완료 후 저장
targetWorkbook.Save ’10. 작업 완료 후 Excel 창을 닫습니다.


targetWorkbook.Close
sourceWorkbook.Close
서브 끝
“` 위의 예제 코드에서는 다른 엑셀 파일에서 데이터를 읽어와서 다른 엑셀 파일에 데이터를 입력하는 코드입니다.

즉, 데이터 이동 기능이 자동화됩니다.

결론

위의 예제 코드를 통해 VBA를 사용하여 Excel 파일에 데이터를 자동으로 입력하는 방법을 배웠습니다.

VBA를 사용하면 반복적인 작업을 자동화하고 시간과 노력을 절약할 수 있습니다.

VBA를 사용하면 Excel 파일을 효율적으로 관리하고, 자동으로 데이터를 입력하고, 데이터를 이동할 수 있습니다.

결론적으로

위의 예제 코드를 통해 VBA를 사용하여 Excel 파일에 데이터를 자동으로 입력하는 방법을 배웠습니다.

VBA를 사용하면 프로그래밍 경험이 없는 사람이라도 Excel 파일을 효율적으로 관리할 수 있으며, 반복적인 작업을 자동화하여 시간과 노력을 절약할 수 있습니다.

VBA는 엑셀을 비롯한 다양한 오피스 프로그램에서 사용할 수 있기 때문에 다양한 업무에 적용할 수 있습니다.

추가 유용한 정보

1. VBA 코드를 작성할 때 코드의 목적을 설명하기 위해 주석을 사용하는 것이 좋습니다.

코드를 작성한 후에도 다른 사람들이 쉽게 이해할 수 있도록 명확하고 간결하게 코멘트를 작성해주세요.
2. VBA 코드는 유지 관리가 어려울 수 있으므로 재사용성과 가독성을 염두에 두고 코드를 작성해야 합니다.


3. VBA 코드를 작성하기 전에 작업하려는 Excel 파일이 열려 있는지 확인해야 합니다.

열려있지 않은 파일에 데이터를 입력하려고 하면 오류가 발생할 수 있습니다.


4. VBA는 Excel 파일뿐만 아니라 다른 Office 프로그램에서도 사용할 수 있습니다.

따라서 Microsoft Office 제품군에 포함된 다른 프로그램도 VBA를 활용하여 작업을 자동화할 수 있습니다.


5. VBA 코드를 작성할 때 형식을 일관되게 유지하십시오. 들여쓰기와 줄바꿈을 명확하게 지정하면 코드의 가독성을 높일 수 있습니다.

당신이 놓칠 수 있는 것

Excel 파일에서 VBA를 사용하여 데이터를 입력하고 자동화하는 방법을 보여드렸습니다.

VBA를 사용하면 Excel 파일을 효율적으로 관리하고 반복적인 작업을 자동화할 수 있습니다.

이렇게 하면 시간과 노력이 절약되고 정확도가 높아집니다.