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 코드 예시로 돌아가기

AI in the VBA Editor!

AutoMacro is the ultimate VBA add-in.

AI, Generators, UI Builders, Code Library, and More!

Learn More

AutoMacro: AI in the VBA Editor!

Learn More