엑셀VBA로 시트 복사하기 - 특정 리스트로 갯수, 시트명 설정
제목만큼이나 난해하다.
1, 2, 3번 시트가 있다.
이 중 2번 시트를 여러개 복사하는데,
3번 시트에 있는 리스트의 갯수만큼 복사하고,
이에 해당하는 이름을 붙이고 싶다.
[코드샘플]
' Null은 없을 것
' 영역이 붙어 있을 것
Sub 시트생성()
Dim s As Integer
Dim e As Integer
On Error Resume Next
Application.DisplayAlerts = False
'시트명으로 사용할 변수 영역 선택
Set rename_area = Application.InputBox("업체명 위치를 입력하세요", , , , , , , 8)
Application.DisplayAlerts = True
Application.ScreenUpdating = False
'영역 내 변수 영역을 값으로 변환(시트명으로 사용)
rename = rename_area.Value
'시트명으로 사용할 리스트 갯수
e = rename_area.Count
'시트명으로 사용할 변수의 갯수만큼 특정 시트 복사하기
For s = 1 To e
ActiveWorkbook.Sheets("공문").Copy _
after:=ActiveSheet
Next s
'복사된 시트를 포함하여 전체 시트 갯수 세기
e2 = Worksheets.Count
'기존에 있었던 시트를 제외하고, 그 다음 시트부터 이름 바꾸기
'이름은 미리 담아두었던, 변수명으로 사용
'동일한 이름을 막기 위해, 시트명 뒤에 숫자 넣기
For i = 4 To e2
Worksheets(i).Name = rename(i - 3, 1) & i - 3
Next i
Application.ScreenUpdating = True
End Sub
한동안 안쓰니,,
다 까먹는다.