- 締切済み
シートの保護につきまして
行・列の追加削除だけ、無効にする方法は ありますか? 単にシートを保護するだけなら下記で行っております。 ActiveSheet.Protect Password:="", DrawingObjects:=True, Contents:=True, Scenarios:=True ご回答のほど、よろしくお願いいたします。
- みんなの回答 (3)
- 専門家の回答
みんなの回答
- Nayuta_X
- ベストアンサー率46% (240/511)
例えば、EXCEL2003以下なら 編集出来なくしてしまう。 ヒント: 下記を参考に Sub EXCEL_Version() Dim MyVersion As String Dim MyVe As Integer MyVersion = Application.Version MyVe = LeftB(MyVersion, 3) If MyVe < 10 Then MsgBox "ごめんなさい あなたの Microsoft Excel バージョン " & Chr(13) & Chr(10) _ & Application.Version & "では、動作しません " & Chr(13) & Chr(10) _ & " " & Chr(13) & Chr(10) _ & "Excel 2003 以上をインストールしてから使用してください。", vbExclamation Else MsgBox "あなたの Microsoft Excel バージョンは、" & Application.Version & Chr(13) & Chr(10) _ & " " & Chr(13) & Chr(10) _ & "合格です。", vbInformation Range("A1").Select Worksheets("Sheet1").Range("A1").Name = "Top" End If End Sub
- imogasi
- ベストアンサー率27% (4737/17069)
http://msdn.microsoft.com/library/ja/default.asp?url=/library/ja/owcvba10/html/ocproAllowInsertingColumns.asp に書いてあることだが、その使用例が難しいと思った。 他を探して 一例は Sub Protect_Worksheet() ActiveSheet.Protect DrawingObjects:=False, Contents:=True, Scenarios:= _ False, AllowFormattingCells:=True, AllowFormattingColumns:=True, _ AllowFormattingRows:=True, AllowInsertingColumns:=False, AllowInsertingRows _ :=True, AllowInsertingHyperlinks:=True, AllowDeletingColumns:=True, _ AllowDeletingRows:=False, AllowSorting:=True, AllowFiltering:=True, _ AllowUsingPivotTables:=True ' ActiveSheet.Unprotect End Sub の方が判りやすい。一部FALSEに設定した。 しかしセルが保護されてのことだけに、考え方がむつかしいとおもった。2002でも動くようです。
- Nayuta_X
- ベストアンサー率46% (240/511)
AllowInsertingColumns:=True ' 列の挿入を許可 AllowInsertingRows:=True ' 行の挿入を許可 AllowDeletingColumns:=True ' 列の削除を許可 AllowDeletingRows:=True ' 行の削除を許可 注意: EXCEL 2003 でのトレースです。 これ以前(2000)では、項目がないので トレース出来ませんでした。
補足
ご回答、ありがとうございます。 VBA作成対象はエクセル2000で、AllowInserting~の プロパティはサポートされないようです・・・。 どうすればよいでしょうか? まことにお手数ですが、お知恵をお借りしたく存じます。 よろしくお願いいたします。
補足
ご回答、ありがとうございます。 VBA作成対象はエクセル2000で、AllowFormattingCellsなどの プロパティはサポートされないようです・・・。 どうすればよいでしょうか? まことにお手数ですが、お知恵をお借りしたく存じます。 よろしくお願いいたします。