ワークシートの複製

ActiveSheet.Copy Before:=ActiveSheet

マクロ入りのワークシート複製しボタンに再登録

Dim macroName As String
Workbooks.Add
ThisWorkbook.ActiveSheet.Copy Before:=ActiveWorkbook.Worksheets(1)
For i = 1 To ActiveSheet.DrawingObjects.Count
    ActiveSheet.DrawingObjects(i).Select
    macroName = Selection.OnAction
    If InStr(macroName, "!") > 0 Then
        macroName = "'" & ActiveWorkbook.Name & "'!" & Mid(macroName, InStr(macroName, "!") + 1, Len(macroName))
        ActiveSheet.DrawingObjects(i).OnAction = macroName
    End If
Next

別ブックにマクロ入りのワークシートを複製すると、シートに記録されたマクロも複製されます。 しかし、ボタンにマクロを登録している場合、元のブックを参照してしまいますのでマクロを登録する必要があるためこの処理を行います。

ワークシートの削除

Application.DisplayAlerts = False
ActiveSheet.Delete
Application.DisplayAlerts = True

シート削除時のアラートを非表示にしてから削除し、削除後は元に戻します。

指定の名前のワークシートをアクティブにする

Dim sheetName As String
sheetName = "サンプル"
For i = 1 To Worksheets.Count
    If sheetName = Worksheets(i).name Then
        Worksheets(i).Activate
        Exit For
    End If
Next

ワークシートの保護

ActiveSheet.Unprotect  '保護の解除
ActiveSheet.Protect    '保護

マクロ実行時のみ保護を解除

ActiveSheet.Protect UserInterfaceOnly:=True

トップ   編集 凍結 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2022-03-07 (月) 09:59:00 (165d)