엑셀 VBA에서 Fill 메서드는 자동 채우기 기능과 관련하여 셀의 서식을 적용하거나 데이터를 채우는 기능을 제공합니다.
주로 Interior.Fill, Font.Fill, FillDown, FillRight, FillUp, FillLeft 등 다양한 속성과 함께 사용됩니다.
1. FillDown (아래 방향으로 채우기)
Sub FillDown_예제()
Range("A1").Value = "Hello"
Range("A1:A10").FillDown
End Sub
|
📌 A1 값을 A2:A10까지 복사 (아래로 자동 채우기)
📌 Excel의 Ctrl + D 기능과 동일
2. FillRight (오른쪽 방향으로 채우기)
Sub FillRight_예제()
Range("A1").Value = "Hello"
Range("A1:D1").FillRight
End Sub
|
📌 A1 값을 B1, C1, D1까지 복사 (오른쪽으로 자동 채우기)
📌 Excel의 Ctrl + R 기능과 동일
3. FillUp (위쪽 방향으로 채우기)
Sub FillUp_예제()
Range("A10").Value = "Hello"
Range("A1:A10").FillUp
End Sub
|
📌 A10 값을 A1:A9까지 복사 (위쪽으로 자동 채우기)
4. FillLeft (왼쪽 방향으로 채우기)
Sub FillLeft_예제()
Range("D1").Value = "Hello"
Range("A1:D1").FillLeft
End Sub
|
📌 D1 값을 A1, B1, C1까지 복사 (왼쪽으로 자동 채우기)
5. 배경 색상 채우기 (Interior.Fill)
Sub 배경색_채우기()
Range("B2:B10").Interior.Color = RGB(255, 255, 0) ' 노란색 채우기
End Sub
|
📌 B2:B10 셀의 배경 색을 노란색으로 변경
6. 그라데이션 효과 적용 (Interior.Pattern)
Sub 그라데이션_채우기()
With Range("A1:A10").Interior
.Pattern = xlPatternLinearGradient
.Gradient.Degree = 90
End With
End Sub
|
📌 A1:A10에 그라데이션 효과 적용 (엑셀 2010 이상 지원)
7. 폰트 색상 채우기 (Font.Fill)
Sub 폰트색_변경()
Range("A1:A10").Font.Color = RGB(255, 0, 0) ' 빨간색
End Sub
|
📌 A1:A10 셀의 폰트 색상을 빨간색으로 변경
8. 패턴으로 셀 채우기 (Interior.PatternColor)
Sub 패턴_채우기()
With Range("A1:A5").Interior
.Pattern = xlPatternChecker ' 체커보드 패턴
.PatternColorIndex = xlAutomatic
End With
End Sub
|
📌 A1:A5 범위를 체커보드 패턴으로 채우기
9. Fill 적용 후 데이터 채우기 (FillDown + AutoFill)
Sub FillDown_AutoFill()
Range("A1").Value = 1
Range("A2").Value = 2
Range("A1:A2").AutoFill Destination:=Range("A1:A10"), Type:=xlFillSeries
End Sub
|
📌 A1:A10에 1, 2, 3, ... 자동 채우기
10. Fill을 활용한 날짜 자동 채우기
Sub 날짜_자동채우기()
Range("B1").Value = Date
Range("B1").AutoFill Destination:=Range("B1:B10"), Type:=xlFillSeries
End Sub
|
📌 오늘 날짜부터 B1:B10까지 자동 증가 채우기
📝 정리
기능
|
VBA 코드
|
아래 방향 자동 채우기 (FillDown)
|
Range("A1:A10").FillDown
|
오른쪽 방향 자동 채우기 (FillRight)
|
Range("A1:D1").FillRight
|
위쪽 방향 자동 채우기 (FillUp)
|
Range("A1:A10").FillUp
|
왼쪽 방향 자동 채우기 (FillLeft)
|
Range("A1:D1").FillLeft
|
배경 색상 채우기 (Interior.Fill)
|
Range("A1:A10").Interior.Color = RGB(255, 255, 0)
|
폰트 색상 채우기 (Font.Fill)
|
Range("A1:A10").Font.Color = RGB(255, 0, 0)
|
셀 패턴 채우기 (Interior.Pattern)
|
Range("A1:A5").Interior.Pattern = xlPatternChecker
|
그라데이션 효과 추가
|
Range("A1:A10").Interior.Pattern = xlPatternLinearGradient
|
숫자/날짜 자동 채우기
|
Range("A1:A10").AutoFill Destination:=Range("A1:A10"), Type:=xlFillSeries
|
🔥 VBA의 Fill 기능을 활용하면 데이터를 자동 채우거나, 서식을 적용하여 더욱 효율적으로 작업할 수 있습니다! 🚀