VBA – 매크로를 사용하여 자동채우기

Written by

Editorial Team

Reviewed by

Steve Rynearson

Translated by

Younjung Kim

Last updated on 5월 6, 2023

이 튜토리얼에서는 VBA에서 자동 채우기를 사용하는 방법을 설명합니다.

VBA 자동 채우기

자동 채우기는 데이터가 반복적이거나 순차적(요일, 날짜, 월 등)인 경우 Excel에서 유용한 도구입니다. 일반적으로 처음 몇 개의 셀을 필요한 데이터로 채운 다음 자동 채우기를 사용하여 필요한 데이터를 선택한 범위로 복사합니다.

이 모든 작업은 VBA 매크로를 사용하여 수행할 수 있습니다.

증분 숫자를 사용한 자동 채우기

우선 코드에서 두 개의 Range 변수를 선언합니다.

Selection1은 자동 채울 데이터가 있는 범위입니다(예: 1과 2).

Selection2는 자동 채울 전체 범위로, 첫 번째 범위와 자동 채울 현재 비어있는 셀을 포함합니다.

변수를 선언한 다음 AutoFill 메서드를 사용하여 두 번째 선택 범위를 채웁니다.r

Public Sub MyAutoFill()
'AutomateExcel.com에서 작성한 코드입니다

'Range 변수를 선언합니다
Dim selection1 As Range
Dim selection2 As Range

'범위 변수를 각각의 범위로 정의합니다
Set selection1 = Sheet1.Range("A1:A2")
Set selection2 = Sheet1.Range("A1:A12")

'자동 채우기
selection1.AutoFill Destination:=selection2

End Sub

위 코드를 사용하여 A1:A12 범위에 자동 채우기 매크로를 실행할 수 있습니다.

VBA AutoFill Numbers

 

AutoFill 메서드를 사용하는 경우 수행하려는 자동 채우기 유형을 선택할 수 있습니다. 위의 예에서는 자동 채우기 유형을 지정하지 않았으므로 기본 유형(이 경우 각 줄에서 숫자를 1씩 증가시키는 유형)이 사용되었습니다.

월(날짜)을 사용한 자동채우기

월을 사용하여 자동 채우는 매크로는 숫자를 증가시키는 데 사용되는 매크로와 거의 동일하지만 한 가지 중요한 차이가 있습니다.

Public Sub AutoFillMonths() 
'AutomateExcel.com 에서 작성한 코드입니다
'Range 변수를 선언합니다
  Dim selection1 As Range 
  Dim selection2 As Range 
'범위 변수를 각각의 범위로 정의합니다
  Set selection1 = Sheet1.Range("A1:A2") 
  Set selection2 = Sheet1.Range("A1:A12") 
'월 자동채우기 
  AutoFill Destination:=selection2, Type:=xlFillMonths
End Sub

자동 채우기 유형을 입력할 때 선택할 수 있는 여러 Excel 상수가 제공됩니다. 이 상수를 선택하지 않으면 Excel이 주어진 원본 데이터에서 채울 데이터 유형을 결정합니다.

 

VBA AutoFill Constants

 

그러나 Excel은 Type 인수를 사용하지 않고도 월, 요일 및 증분 숫자와 같은 표준 계열을 선택할 수 있습니다.

xlFillCopy를 사용한 자동 채우기

자동 채우기 매크로를 사용하여 정보를 복사하려면 xlFillCopy 상수를 사용해야 합니다.

Public Sub AutoFillCopy()
  Dim Selection1 As Range
  Dim Selection2 As Range
  Set Selection1 = Sheet1.Range("A1:A1")
  Set Selection2 = Sheet1.Range("A1:A12")
  Selection1.AutoFill Destination:=Selection2, Type:=xlFillCopy
End Sub

이 매크로를 실행하면 Range(“A1”)의 데이터가 “Jan”의 후속 월로 셀을 자동 채우는 대신 “A1:A12” 범위로 복사됩니다.

VBA AutoFill Copy

xlFlashFill을 사용한 자동 채우기

Excel에서 텍스트를 열로 변환해야 할 때 텍스트를 열로 변환 옵션을 사용하거나 Flash Fill 이라는 옵션을 사용할 수 있습니다. 이 옵션은 VBA에서 매우 유용합니다.

다음 데이터를 예로 들어 보겠습니다:

VBA AutoFill Text

 

B2 셀에 “Tolley”라는 성을 입력한 다음 매크로를 사용하여 나머지 데이터를 FlashFill  할 수 있습니다.

Sub FlashFill()
  Dim Selection1 As Range
  Dim Selection2 As Range
  Set Selection1 = Range("B2:B2")
  Set Selection2 = Range("B2:B15")
  Selection1.AutoFill Destination:=Selection2, Type:=xlFlashFill
End Sub

VBA AutoFill FlashFill

C, D 및 E 열에 이 작업을 반복하여 나머지 데이터를 가져올 수 있습니다.

 Set Selection1 = Range("C2:C2")
Set Selection2 = Range("C2:C15")
Selection1.AutoFill Destination:=Selection2, Type:=xlFlashFill

Set Selection1 = Range("D2:D2")
Set Selection2 = Range("D2:D15")
Selection1.AutoFill Destination:=Selection2, Type:=xlFlashFill

Set Selection1 = Range("E2:E2")
Set Selection2 = Range("E2:E15")
Selection1.AutoFill Destination:=Selection2, Type:=xlFlashFill

2행의 값을 기준으로 A열의 문자열에서 일부를 가져와 각 열에 채워집니다.

VBA AutoFill TextSeparated

 

간편한 VBA 코딩

온라인에서 VBA 코드를 더 이상 검색하지 않아도 됩니다. 초보자도 최소한의 코딩 지식으로 프로시저를 처음부터 코딩할 수 있습니다. 코드를 빠르게 작성하고 싶으시다면 모든 사용자를 위한 VBA 코드 작성기인 AutoMacro에 대해 자세히 알아보세요!

alt text

 

자세히 알아보기!

 

vba-free-addin

VBA 코드 예시 추가 기능

본 웹사이트에 있는 모든 코드 예시에 쉽게 접근해보세요.

메뉴로 이동하여 클릭만 하면 코드는 모듈에 바로 입력됩니다. .xlam 추가 기능.

(설치가 필요 없습니다!)

무료 다운로드

VBA 코드 예시로 돌아가기