ラベル 定数 の投稿を表示しています。 すべての投稿を表示
ラベル 定数 の投稿を表示しています。 すべての投稿を表示

VBA シートの保護(保護の解除)



シートの保護


VBAを使ってエクセルシートの保護をする方法とその解除方法です。
エクセル上だと[リボン]→[校閲]→[シートの保護]→・・・と同じ動作を再現します。


メソッドなど
Worksheet.Protect


サンプルコード(パスワード設定なし)
Sub hogo()
    'アクティブシートの保護
    ActiveSheet.Protect    
End Sub


実行結果イメージ


解説
例としてActiveSheetに対してシートの保護をする処理をしています。

WoekrSheet.Protectはワークシートを保護するメソッドです。
[校閲]から[シートの保護]を選択すると出てくるオプション設定する「パスワード」や「セルの選択の許可」などのパラメータはProtectの後に記述することで指定できます。



パラメータ一覧
名前 内容 既定値
Contents シートとロックされたセルの内容の保護 True/False True
Password パスワード 文字列
AllowFormattingCells セルの書式設定 True/False False
AllowFormattingColumns 列の書式設定 True/False False
AllowFormattingRows 行の書式設定 True/False False
AllowInsertingColumns 列の挿入 True/False False
AllowInsertingRows 行の挿入 True/False False
AllowInsertingHyperlinks ハイパーリンクの挿入 True/False False
AllowDeletingColumns 列の削除 True/False False
AllowDeletingRows 行の削除 True/False False
AllowSorting 並び替え True/False False
AllowFiltering オートフィルタの使用 True/False False
AllowUsingPivotTables ピボットテーブル レポートを使用する True/False False
DrawingObjects オブジェクトの編集 True/False True
Scenarios シナリオの編集 True/False True
UserInterfaceOnly 画面上からの変更保護 True/False False

Contentsの動きがいまいちよくわかりませんがFalseにするとロックしたセルも編集できました。(オブジェクトとグラフは編集不可のままっぽい)

サンプルコード(パスワード設定など)
Sub hogo()
    'アクティブシートの保護(パスワード指定、並び替え許可)
    ActiveSheet.Protect Password:="123", AllowSorting:=True
End Sub



シートの保護の解除

メソッドなど
Worksheet.Protect


サンプルコード(パスワード設定なし)
Sub hogokaijo()
    'アクティブシートの保護解除
    ActiveSheet.Unprotect
End Sub

パスワード設定がある場合は引数Passwordに指定します。
    ActiveSheet.Unprotect Password:="123"

関連・類似ページ
ブックの共有化
ブックの保存
警告や確認メッセージを非表示にする

XlAutoFilterOperator列挙 定数一覧



オートフィルタをかけるAutoFilterメソッドでの2つの条件を関連付けるために使用する引数Operatorで指定できる定数一覧です。

名前 説明 備考
xlAnd(既定値) Criteria1 AND Criteria2 1
xlOr Criteria1 OR Criteria2 2
xlBottom10Items Field範囲内でワースト10
Criteria1で10以外に変更可
4
xlBottom10Percent Field範囲でワースト10%
Criteria1で10以外に変更可
6
xlTop10Items Field範囲内トップ10
Criteria1で10以外に変更可
3
xlTop10Percent Field範囲でトップ10%
Criteria1で10以外に変更可
5
xlFilterCellColor セルの背景色
Criteria1で色表記
Excel2007以降 8
xlFilterFontColor フォントの色
Criteria1で色表記
Excel2007以降 9
xlFilterDynamic 動的フィルタ
(Criteria1:=xlFilterAboveAverageで
平均値より上のデータ)
Excel2007以降 11
xlFilterIcon アイコン(icon)がセットされている場合に
Criteriaで指定が可能
アイコンのセット方法(リンク…未作成)
Excel2007以降 10
xlFilterValues 3つ以上の複数条件も指定可
Criteriaで配列として指定
Excel2007以降 7

XlCellType列挙、XlSpecialCellsValue列挙 定数一覧



セルの状態に対して条件が合致したものを返すRange.SpecialCells メソッドでの指定できる引数のXlCellType列挙、XlSpecialCellsValue列挙の項目一覧です

名前 説明
xlCellTypeAllFormatConditions 条件付き書式が設定されているセル -4172
xlCellTypeAllValidation 入力規則が設定されているセル -4174
xlCellTypeBlanks 空白セル 4
xlCellTypeComments コメントが含まれているセル -4144
xlCellTypeConstants 定数が含まれているセル 2
xlCellTypeFormulas 数式が含まれているセル -4123
xlCellTypeLastCell 使われたセル範囲内の最後のセル 11
xlCellTypeSameFormatConditions 同じ表示形式が設定されているセル?? -4173
xlCellTypeSameValidation 同じ条件の設定が含まれているセル?? -4175
xlCellTypeVisible すべての可視セル 12
xlErrors エラーを含むセル
xlLogical 論理値を含むセル
xlNumbers 数値を含むセル
xlTextValues 文字列を含むセル

定数:数式ではない値
論理値:True or False
xlCellTypeSameFormatConditions、xlCellTypeSameValidationは使い方がよくわかりません。


関連
値の入っているセルのみを選択(xlTextValues)
空白セルを含む行(列)を削除(xlCellTypeBlanks)

XlSaveConflictResolution 定数一覧



ファイルを保存する (Workbook.SaveAs) メソッドで引数ConflictResolutionで指定出来る定数一覧です。
ファイルが共有状態にあり編集部分が競合した場合の処理方法を設定します。

名前 説明
xlLocalSessionChanges ユーザーの変更を選択 2
xlOtherSessionChanges 競合相手の変更を選択 3
xlUserResolution どちらの変更を選択させるか
競合選択のダイアログを表示する
1
定数一覧



xlUserResolution:競合時の処理選択ダイアログ


関連
ファイルを保存する (Workbook.SaveAs) メソッド

XlSaveAsAccessMode 定数一覧



ファイルを保存する (Workbook.SaveAs) メソッドで引数AccessModeで指定出来る定数一覧です。
Excel2007以降で追加された引数です。
名前 説明
xlNoChange 既定
(変更なし)
1
xlExclusive 排他モード
(ファイルの共有不可)
3
xlShared 共有にする 2
定数一覧


エクセル上でのブックの共有設定での「複数ユーザーによう同時編集と、ブックの結合を許可する」(※画像)にチェックを入れるか(xlShared)入れない(xlExclusive)のと同一処理です。



排他モードで保存しようとする際に、既に存在するファイル(パスと名前)の場合は変更出来せずにスルーされてしまうので、別ファイル名の指定が必要になるっぽいです。

XlFileFormat列挙 定数一覧(拡張子)



ファイルを保存する (Workbook.SaveAs) メソッドで引数FileFormatで指定出来る定数一覧です。

名前 拡張子 説明
xlAddIn .xls Excel 97-2003 アドイン 18
xlAddIn8 .xls Excel 97-2003 アドイン 18
xlCSV .csv CSV 6
xlCurrentPlatformText .txt テキストファイル -4158
xlExcel8 .xls Excel 97-2003 ブック
(Excel2007以降)
56
xlHtml .htm HTML形式 44
xlOpenDocumentSpreadsheet .ods OpenDocument スプレッドシート 60
xlDIF .dif dif (Data Interchange format) 9
xlOpenXMLAddIn .xlam Excel アドイン 55
xlOpenXMLTemplate .xltx Excel テンプレート 53
xlOpenXMLTemplateMacroEnabled .xltm Excel マクロ有効テンプレート 51
xlOpenXMLWorkbook .xlsx Excel ブック 51
xlOpenXMLWorkbookMacroEnabled .xlsm Excel マクロ有効ブック 52
xlSYLK .slk SYLK (シンボリック リンク) 形式
プリンタの問題を取り除くために使用
(破損した要素を除外できることがある)
2
xlTemplate .xlt Excel 97-2003 テンプレート 17
xlTemplate8 .xlt Excel 97-2003 テンプレート 17
xlTextPrinter .prn PRNファイル
プリンタに渡すデータをファイル化したもの
(印刷時の画面の「ファイルへ出力」と同じ)
36
xlUnicodeText .txt Unicodeテキスト 42
xlWebArchive .mht Webページのアーカイブファイル 45
xlWorkbookDefault .xls or .xlsx
(環境に依存)
通常のエクセル形式 51
xlWorkbookNormal .xls Excel 97-2003 ブック -4143
xlXMLSpreadsheet .xml xml スプレッドシート 46

XlPasteSpecialOperation定数一覧



Operation(演算)

名前 説明
12 xlPasteSpecialOperationNone しない(既定値) -4142
13 xlPasteSpecialOperationAdd 加算 2
14 xlPasteSpecialOperationSubtract 減算 3
15 xlPasteSpecialOperationDivide 乗算 5
16 xlPasteSpecialOperationMultiply 除算 4
一覧


エクセルの「形式を選択して貼り付け」との対応画像です。


関連
セルペースト(Range.PasteSpecial) メソッド

XlPasteType定数一覧



名前 説明
1 xlPasteAll すべて(既定値) -4104
2 xlPasteFormulas 数式 -4123
3 xlPasteValues -4163
4 xlPasteFormats 書式 -4122
5 xlPasteComments コメント -4144
6 xlPasteValidation 入力規則 6
7 xlPasteAllUsingSourceTheme コピー元のテーマを使用してすべて 13
8 xlPasteAllExceptBorders 罫線以外のすべて 7
9 xlPasteColumnWidths 列幅 8
10 xlPasteFormulasAndNumberFormats 数式と数値の書式 11
11 xlPasteValuesAndNumberFormats 値と数値の書式 12
一覧


エクセル上の形式を選択して貼り付けとの対応画像


関連
セルペースト(Range.PasteSpecial) メソッド