2017-01-14 4 views
1

を削除しようとすると、私はExcelのツールを構築していますし、行/列を削除または挿入が許可されていないようにブックを保護している、以下のコードを使用した:メッセージボックスユーザーが行

Sub ProtectSheet() 
ActiveSheet.Protect _ 
    DrawingObjects:=False, _ 
    Contents:=True, _ 
    Scenarios:=False, _ 
    AllowFormattingCells:=True, _ 
    AllowFormattingColumns:=True, _ 
    AllowFormattingRows:=True, _ 
    AllowInsertingHyperlinks:=True, _ 
    AllowInsertingColumns:=False, _ 
    AllowInsertingRows:=False, _ 
    AllowDeletingColumns:=False, _ 
    AllowDeletingRows:=False, _ 
    AllowSorting:=True, _ 
    AllowFiltering:=True, _ 
    AllowUsingPivotTables:=True, _ 
    Password:=cPassword 
End Sub 

しかし、私はまた、ユーザーが行/列を削除または挿入しようとしたときにメッセージボックスを表示して、それができないことを伝え、他の指示を提供したいとします。誰かがこれを行う方法について私にアドバイスできますか?

ありがとうございます!

あなたは、この(コードは、ワークシートのコードモジュールに行く)のような選択変更イベントを使用することができます
+0

あなたのコードが実行される前に 'MsgBox'を使うのはどうですか? –

答えて

0

:彼らはどのようにI、一般的である(行または列全体を選択することにより、挿入または削除しようとすると

Private Sub Worksheet_SelectionChange(ByVal Target As Range) 
    With Target 
     If .Address = .EntireRow.Address Or .Address = .EntireColumn.Address Then 
      MsgBox "You can not insert or delete any row or column", vbInformation, "FYI" 
     End If 
    End With 
End Sub 

それについて行ってください)、このメッセージボックスがポップアップしますが、より小さな範囲のセルを選択するとポップアップしません。

+0

うわー、ありがとう!それはまさに私が必要としたものでした。 – Kristen