Worksheet 개체

Add 메서드

노만e 2025. 3. 13. 05:09

엑셀 VBA에서 Add 메서드는 새로운 객체(워크시트, 워크북, 차트, 테이블 등)를 추가할 때 사용됩니다.

즉, 데이터나 구조를 확장할 때 유용합니다.


1. 기본 문법

객체.Add(인수)

📌 Add 메서드는 객체 유형에 따라 다양한 방식으로 사용됩니다.

📌 Sheets.Add → 새로운 시트 추가

📌 Workbooks.Add → 새로운 엑셀 파일(워크북) 추가

📌 Range("A1").ListObject.Add → 새로운 테이블 추가

📌 ChartObjects.Add → 새로운 차트 추가


2. 워크시트 추가

📌 새로운 워크시트 추가

Sub 워크시트_추가()
Sheets.Add
End Sub

📌 현재 워크북에 새 시트 추가 (기본적으로 첫 번째 시트 앞에 삽입됨)


📌 특정 위치에 워크시트 추가

Sub 특정위치_워크시트_추가()
Sheets.Add After:=Sheets("Sheet1") ' Sheet1 뒤에 새 시트 추가
End Sub

📌 Sheet1 뒤에 새로운 시트 삽입


📌 새 시트 추가 후 이름 변경

Sub 이름_있는_워크시트_추가()
Dim ws As Worksheet
Set ws = Sheets.Add
ws.Name = "새로운시트"
End Sub

📌 새로운 시트를 추가하고 "새로운시트"로 이름 변경


3. 워크북 추가

📌 새로운 엑셀 파일(워크북) 추가

Sub 새_워크북_추가()
Workbooks.Add
End Sub

📌 새로운 엑셀 파일(워크북) 생성


📌 새 워크북을 저장 후 열기

Sub 새_워크북_추가_저장()
Dim wb As Workbook
Set wb = Workbooks.Add
wb.SaveAs "C:\Users\사용자\Desktop\새파일.xlsx"
End Sub

📌 새로운 워크북을 "새파일.xlsx"로 저장


4. 차트 추가

📌 새로운 차트 추가

Sub 차트_추가()
Dim ch As ChartObject
Set ch = ActiveSheet.ChartObjects.Add(Left:=50, Top:=50, Width:=400, Height:=300)

With ch.Chart
.ChartType = xlColumnClustered
.SetSourceData Source:=Range("A1:B5")
.HasTitle = True
.ChartTitle.Text = "매출 현황"
End With
End Sub

📌 새 차트를 생성하고 A1:B5 데이터를 이용해 막대 그래프를 만듦


5. 테이블(리스트 객체) 추가

📌 지정된 범위에 테이블 추가

Sub 테이블_추가()
Dim ws As Worksheet
Dim tbl As ListObject
Set ws = ActiveSheet
Set tbl = ws.ListObjects.Add(xlSrcRange, ws.Range("A1:D5"), , xlYes)
tbl.Name = "매출표"
End Sub

📌 A1:D5 범위를 테이블로 변환하고 이름을 "매출표"로 설정


6. 컬렉션(Collection) 객체에 값 추가

📌 컬렉션에 데이터 추가

Sub 컬렉션_추가()
Dim col As Collection
Set col = New Collection
col.Add "사과"
col.Add "바나나"
col.Add "오렌지"
MsgBox col(1) ' "사과" 출력
End Sub

📌 컬렉션 객체를 생성하고 값 추가


7. 딕셔너리(Dictionary) 객체에 값 추가

📌 Dictionary 객체 활용

Sub 딕셔너리_추가()
Dim dict As Object
Set dict = CreateObject("Scripting.Dictionary")
dict.Add "Apple", "사과"
dict.Add "Banana", "바나나"
MsgBox dict("Apple") ' "사과" 출력
End Sub

📌 딕셔너리 객체를 생성하고 키-값 추가


📝 정리

기능
VBA 코드
새로운 워크시트 추가
Sheets.Add
특정 위치에 시트 추가
Sheets.Add After:=Sheets("Sheet1")
새로운 워크북 추가
Workbooks.Add
새로운 차트 추가
ChartObjects.Add(Left:=50, Top:=50, Width:=400, Height:=300)
지정된 범위에 테이블 추가
ws.ListObjects.Add(xlSrcRange, ws.Range("A1:D5"), , xlYes)
컬렉션에 데이터 추가
col.Add "사과"
딕셔너리에 데이터 추가
dict.Add "Apple", "사과"

🔥 VBA의 Add를 활용하면 동적으로 데이터를 추가하고 자동화할 수 있습니다! 🚀