
No.7ベストアンサー
- 回答日時:
>マクロを有効にする方法を教えて下さい。
補足のメッセージからすると、Excel2000でしょうか。今、Excel2000がないので100%確かではないですが、
ツール→マクロ→セキュリティ→セキュリティレベル
のセキュリティレベルが『高』になっていませんか?
『中』にすればブックを開くと確認のダイアログボックスがでるので『はい(?もしかしたらYes)』でマクロを有効にします。
『低』にすれば無条件にマクロが有効になると思いますが、マクロウイルスが流行っていますし余りおすすめできません。
うまくいけばいいですが・・・では。
No.6
- 回答日時:
>例えば一色しか指定出来ないようにする方法はないでしょうか
'==================================最初の回答をアレンジ===
'シートの保護、非保護にかかわらず塗りつぶし可能にする
Public Sub PatternSet()
With ActiveSheet
If .ProtectContents Then
.Unprotect
PatternSetSub 'パターン色を指定する
.Protect DrawingObjects:=True, Contents:=True, Scenarios:=True
Else
PatternSetSub 'パターン色を指定する
End If
End With
End Sub
'パターン色を指定する(Sub)<赤=3のみ使える例>
'ColorIndexの意味はVBE画面のHELPで、ColorIndex→ColorIndexプロパティで分かるでしょう
Public Sub PatternSetSub()
Dim curPattern As Integer '現在のパターン色
With ActiveCell.Interior
curPattern = .ColorIndex '現在の色を待避
Application.Dialogs(xlDialogPatterns).Show '色を指定する
'指定色か色なし以外は再度入力する。
While Not (.ColorIndex = 3 Or .ColorIndex = xlNone)
MsgBox "赤しか使えません。", vbOKOnly + vbExclamation, "禁止の色"
.ColorIndex = curPattern '元の色に戻す
Application.Dialogs(xlDialogPatterns).Show '再度設定する
Wend
End With
End Sub
'==================================================別法===
'1色しか使えないならダイアログを出す必要はないかも
'下記は、赤色を塗るマクロと色を消すマクロ。セットで使います。
Public Sub 色を塗る()
With ActiveSheet
If .ProtectContents Then
.Unprotect
Selection.Interior.ColorIndex = 3
.Protect DrawingObjects:=True, Contents:=True, Scenarios:=True
Else
ActiveCell.Interior.ColorIndex = 3
End If
End With
End Sub
Public Sub 色を消す()
With ActiveSheet
If .ProtectContents Then
.Unprotect
Selection.Interior.ColorIndex = xlNone
.Protect DrawingObjects:=True, Contents:=True, Scenarios:=True
Else
ActiveCell.Interior.ColorIndex = xlNone
End If
End With
End Sub
>ツールバーにあるボタンの様なものを作ることは出来ないでしょうか
まず、新しいツールバーを作成します。
(1)表示→ツールバー→ユーザー設定。
(2)→新規作成ボタンを押して自分で名前を入力します。
これで小さなツールバーができます。
(3)ユーザー設定ダイアログでコマンドタブをクリック。
(4)分類の枠内でマクロをクリック。
(5)コマンド欄の『ユーザー設定ボタン』をクリックして、(2)のツールバーにドラッグ&ドロップ。
(6)ドロップしたアイコンを右クリックしてマクロの登録を選択。
ボタンイメージの変更もできます。
(7)マクロを選択してok。ユーザー設定ダイアログを閉じます。
(8)作ったツールバーを既存のツールバーが並んだ箇所の空いた所にドラッグ&ドロップ。
この作ったツールバーを表示したくない時は、表示→ツールバーでチェックをはずします。
この回答への補足
たびたびすみません。
上記の別法をコピーして使うことは出来たのですが、excelを閉じて再度このマクロ機能を使おうとすると次のエラーが出てしまいます。
”このプロジェクトのマクロは無効に設定されています。”というウィンドウが表示されてしまうのですが、マクロを有効にする方法を教えて下さい。
よろしくお願いいたします。
先日マクロのプログラムを作成していただきましたが、ユーザ設定のボタンを作った際にこのボタンが全てのファイルで有効になってしまうため、このファイルの場合だけ表示させるようにしたいのですが、どのようにしたらよいのでしょうか。
No.5
- 回答日時:
シートの保護・非保護に関係なく色を塗るマクロ例です。
パスワードは考慮していません。やっていることは単純ですのでコメントを見てもらえばと思います。ツール→マクロ→Visual Basic Editor でVBE画面に移り、挿入→標準モジュール で標準モジュールを挿入します。出てきたコードウインドウに下記マクロを貼り付けます。
頻繁に使う場合は、ツール→マクロ→マクロ でこのマクロを選択し、オプシュンからショートカットキーを割り当てておくと便利かと思います。
↓ここから
Public Sub PatternSet()
With ActiveSheet
If .ProtectContents Then
'/// シートが保護されている場合 ///
'保護を解除
.Unprotect
'パターンを設定するダイアログボックスを表示する
Application.Dialogs(xlDialogPatterns).Show
'再度保護する
.Protect DrawingObjects:=True, Contents:=True, Scenarios:=True
Else
'/// シートが保護されていない場合 ///
Application.Dialogs(xlDialogPatterns).Show
End If
End With
End Sub
この回答への補足
どうもありがとうございました。とっても助かりました。
VBのことが全く分からないので教えていただきたいのですが、例えば一色しか指定出来ないようにする方法はないでしょうか。
また、ショートカットキーを割り当てておくと便利と言うことですが、ツールバーにあるボタンの様なものを作ることは出来ないでしょうか?
No.4
- 回答日時:
そうですね。
私も今試してみたんですが、塗りつぶし機能は出来ませんでした。
もし加工したいなら、やはりNo.1の方の言うとおり、解除して加工してから再び保護設定するか、VBA設定するしかなさそうです。
#「オブジェクトの保護」を外せば出来たような記憶があったので、大変失礼しました(-_-;)
No.2
- 回答日時:
基本的なことを言うようですが、「シートの保護」設定は、「セルの書式設定」→「保護」タブの”ロック”にチェックされていてはじめて機能します。
ですから、シート保護を設定した後、一部のセルを加工したいのなら、そのセルの”ロック”を外せばいいんです。
試してみて下さい。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
ローマ字→カタカナへ変換(エク...
-
複数ファイルにある特定のシー...
-
マクロ 実行ボタンを押さずに...
-
Excelを開いた時に表示さ...
-
Excel VBA のdebug(F8キー) が...
-
EXCELのセルへ、デジタル時計を...
-
EXCEL 複数のシートの同一の位...
-
エクセル グラフの軸の最小値最...
-
モジュール内のマクロを全て実...
-
エラーになってないのにVBA...
-
AccessのテーブルデータをExcel...
-
Accessのクエリを実行するショ...
-
Excel文字列中の太字(Bold)部分...
-
UWSCの簡単なキーマクロなので...
-
「yes」なら実行させて「no」な...
-
マクロボタンをある条件の時に...
-
エクセル 画像挿入マクロで、...
-
マクロボタンを作ってのマクロ...
-
VBAでEXCELに埋め込んだPDFを開...
-
マクロ BeforePrintイベントが...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
ローマ字→カタカナへ変換(エク...
-
マクロ 実行ボタンを押さずに...
-
複数ファイルにある特定のシー...
-
EXCELのセルへ、デジタル時計を...
-
Excel VBA のdebug(F8キー) が...
-
エラーになってないのにVBA...
-
エクセル グラフの軸の最小値最...
-
Excelを開いた時に表示さ...
-
エクセルのマクロ機能で前のシ...
-
EXCEL 複数のシートの同一の位...
-
ワードからエクセルへ貼り付け...
-
マクロを実行した日付をセルに...
-
Wordの画面を左右にスクロール...
-
VBAでEXCELに埋め込んだPDFを開...
-
TeraTermのマクロについて
-
【Excel VBA】エラー番号400
-
エクセルで複数のシートをまと...
-
エクセルでマクロ実行中に任意...
-
マクロボタンをある条件の時に...
-
モジュール内のマクロを全て実...
おすすめ情報