プロが教える店舗&オフィスのセキュリティ対策術

Excel2010のシート見出しの末尾に、ワークシートの挿入のタブがありますが、
よく押し間違えて新しいシートを作ってしまい、削除の手間がかかることに
なってしまいます。

このタブのみ削除または表示しないようにする方法はありますか?
シート見出し全体を消すと作業に支障が出ますので、それ以外の方法が
ありましたら御教授ください。

A 回答 (2件)

>新規シートを削除した後に直前まで作業していたシートに戻るマクロがありましたら、教えていただけますか。



直前のシートを記憶しておけば戻ることができます。
ちょっと長くなりますが、次のコードを記述してください。

Dim NewSheetFlag As Boolean
Dim PreSheet As String

Private Sub Workbook_Open()
NewSheetFlag = False
PreSheet = ActiveSheet.Name
End Sub

Private Sub Workbook_SheetActivate(ByVal Sh As Object)
If Not NewSheetFlag Then
PreSheet = ActiveSheet.Name
End If
End Sub

Private Sub Workbook_NewSheet(ByVal Sh As Object)
NewSheetFlag = True
Application.DisplayAlerts = False
ActiveSheet.Delete
Application.DisplayAlerts = True
If PreSheet <> "" Then
Worksheets(PreSheet).Activate
End If
NewSheetFlag = False
End Sub



挿入タブ押下以外でもシートが削除されるのは、どこで挿入したかを認識することはできないのでしかたありません。
コードで対応するとしたら、マクロに「シートの挿入」を作成して、そこからシートを作成した場合は自動削除しないという方法をとるしかないでしょう。
    • good
    • 0
この回答へのお礼

ご回答ありがとうございました。
非常に助かりました。

これでもう、シートを探してタブの列をうろうろして挿入タブをクリックしてしまってシートを消して…という、一連のイライラ作業から解放されます。

本当にありがとうございました。

お礼日時:2012/03/07 13:27

タブを消すことはできませんが、


新しいシートを作っても自動で削除するようにしておけば、見かけ上、挿入タブの機能を無効にできます。

Private Sub Workbook_NewSheet(ByVal Sh As Object)
Application.DisplayAlerts = False
ActiveSheet.Delete
Application.DisplayAlerts = True
End Sub

この回答への補足

週末を挟みお礼が遅くなってしまいました。
ご回答ありがとうございました。

教えていただいた方法で自動削除ができました。
ですが二つ、作業上少々都合のよくない動きとなってしまいました。

1)ワークシートの挿入タブの直前のシート(シートタブの末尾)にアクティブなシートが移動してしまう

2)ワークシートの挿入タブ押下以外の方法でシートを挿入した場合も自動削除が実行される

新規にシートを挿入すること自体ほとんど無いので(2)は問題無いのですが、直前に作業していたシートへ戻れないとなるとまたシートを探す必要が出てきてしまいます。

新規シートを削除した後に直前まで作業していたシートに戻るマクロがありましたら、教えていただけますか。
よろしくお願いいたします。

補足日時:2012/03/05 10:58
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!