320x100
엑셀로 작업을 하다보면 한번에 많은 시트를 새로 만들거나, 기존 시트를 여러개 복사해야 할 때가 있습니다. 그 때 사용하는 매크로입니다.
첫번째는 새로 여러개의 시트를 한 번에 생성하는 매크로
1. 생성할 시트 이름을 미리 아래와 같이 입력 한 다음,2. 시트 일괄 생성을 클릭하여, 입력해 둔 셀들을 선택한 다음 확인을 클릭하면 새로운 시트가 일괄 생성 됩니다.
Sub CreateSheets()
Dim rng As Range
Dim cell As Range
Dim str As String
On Error GoTo Errorhandling
'선택 박스
Set rng = Application.InputBox(Prompt:="시트 생성을 위한 레인지를 선택해주세요~!:", _
Title:="Create sheets", _
Default:=Selection.Address, Type:=8)
'선택 셀 For문
For Each cell In rng
'비어있지 않은 셀
If cell <> "" Then
str = Format(cell, "mm월 dd일(aaa)")
' Sheet1 시트 다음에 목록에 따라 시트 삽입
Sheets.Add(After:=Sheets("Sheet1")).Name = str
End If
Next cell
'에러 핸들링
Errorhandling:
End Sub
두번째는 시트를 한번에 여러개 일괄 복사하는 매크로
1. 생성할 시트 이름을 미리 아래와 같이 입력 한 다음,
2. 시트 일괄 복사를 클릭 한 다음, 입력해 둔 셀들을 선택한 다음 확인을 클릭하면 시트가 일괄 복사 됩니다.
Sub copySheets()
Dim str As String
On Error GoTo Errorhandling
'선택 박스
Set rng = Application.InputBox(Prompt:="시트 생성을 위한 레인지를 선택해주세요~!:", _
Title:="Create sheets", _
Default:=Selection.Address, Type:=8)
'선택 셀 For문
For Each cell In rng
'비어있지 않은 셀
If cell <> "" Then
str = cell.Value
ActiveSheet.Copy After:=ActiveWorkbook.Sheets(Worksheets.Count)
On Error Resume Next
ActiveSheet.Name = str
'.Name = k & "-" & rng.Value
End If
Next cell
'에러 핸들링
Errorhandling:
End Sub
728x90
'엑셀' 카테고리의 다른 글
엑셀 문자열을 공백, 콤마, 따옴표로 분할하는 매크로(문자열 분할, 콤마, 스페이스, 따옴표) (0) | 2021.05.22 |
---|---|
근무일자 자동 계산 수식 (토요일, 일요일, 공휴일) 휴무 포함 계산 가능 (0) | 2021.05.22 |
엑셀 현재 작업 워크시트 파일에 다른 파일의 시트들을 불러와 합치는 매크로 함수(시트 불러오기, 시트 머지, 시트 병합, 시트 합치기) (0) | 2021.05.22 |
엑셀 에서 현재 열을 맨 마지막 열에 복사 하는 매크로 (0) | 2021.05.22 |
엑셀 전체 글에서 특정 단어, 글자, 숫자를 한 번에 바꾸고, 지우는 방법 (0) | 2021.05.22 |