📋
CopySheet
シート管理シートを複製する
🎬 デモGIF準備中
📖 使い方
- VBAエディタを開く(Alt + F11)
- モジュールを挿入(挿入 > モジュール)
- 下記VBAコードをコピー&ペースト
- ブック上で実行(Alt + F8 でマクロ選択)
💡 実行例: 実行するとコピー元のシート名と新しいシート名を入力するダイアログが表示される
💻 VBAコード
' CopySheet
' -----------------
' Macro Name: CopySheet
' Description: シートを複製する
' Parameters: なし
' Returns: なし
' Usage: 実行するとコピー元のシート名と新しいシート名を入力するダイアログが表示される
' -----------------
Sub CopySheet()
Dim sourceWs As Worksheet
Dim newWs As Worksheet
Dim sourceName As String
Dim newName As String
Dim i As Long
On Error GoTo ErrorHandler
sourceName = InputBox("コピーするシート名を入力:", "シートコピー", ActiveSheet.Name)
If sourceName = "" Then
Exit Sub
End If
On Error Resume Next
Set sourceWs = Worksheets(sourceName)
On Error GoTo ErrorHandler
If sourceWs Is Nothing Then
MsgBox "「" & sourceName & "」は存在しません。", vbExclamation
Exit Sub
End If
newName = InputBox("新しいシート名を入力:", "シートコピー", sourceName & "_Copy")
If newName = "" Then
Exit Sub
End If
For i = 1 To Worksheets.Count
If Worksheets(i).Name = newName Then
MsgBox "「" & newName & "」は既に存在します。", vbExclamation
Exit Sub
End If
Next i
Set newWs = sourceWs.Copy(After:=sourceWs)
newWs.Name = newName
MsgBox "「" & sourceName & "」を「" & newName & "」としてコピーしました。", vbInformation
Exit Sub
ErrorHandler:
MsgBox "エラーが発生しました: " & Err.Description, vbCritical
End Sub