OKWAVEのAI「あい」が美容・健康の悩みに最適な回答をご提案!
-PR-
解決
済み

excelのセルの保護をした後で・・・

  • すぐに回答を!
  • 質問No.200010
  • 閲覧数635
  • ありがとう数5
  • 気になる数0
  • 回答数7
  • コメント数0

お礼率 15% (5/33)

excelでセルの保護をしたあとに、保護したところ以外のセルで塗りつぶしの機能を使いたいのですが、どうやら出来ないようです。何か良い方法はないでしょうか?
通報する
  • 回答数7
  • 気になる
    質問をブックマークします。
    マイページでまとめて確認できます。

質問者が選んだベストアンサー

  • 回答No.7
レベル13

ベストアンサー率 68% (791/1163)

>マクロを有効にする方法を教えて下さい。

補足のメッセージからすると、Excel2000でしょうか。今、Excel2000がないので100%確かではないですが、

 ツール→マクロ→セキュリティ→セキュリティレベル

のセキュリティレベルが『高』になっていませんか?


『中』にすればブックを開くと確認のダイアログボックスがでるので『はい(?もしかしたらYes)』でマクロを有効にします。

『低』にすれば無条件にマクロが有効になると思いますが、マクロウイルスが流行っていますし余りおすすめできません。

うまくいけばいいですが・・・では。
お礼コメント
pinkymomorin

お礼率 15% (5/33)

今までどうもありがとうございました。
VBのプログラムまで作っていただいてしまって本当に助かりました&勉強になりました。
投稿日時 - 2002-01-23 11:15:00
-PR-
-PR-

その他の回答 (全6件)

  • 回答No.2
レベル14

ベストアンサー率 34% (664/1947)

基本的なことを言うようですが、「シートの保護」設定は、「セルの書式設定」→「保護」タブの”ロック”にチェックされていてはじめて機能します。 ですから、シート保護を設定した後、一部のセルを加工したいのなら、そのセルの”ロック”を外せばいいんです。 試してみて下さい。
基本的なことを言うようですが、「シートの保護」設定は、「セルの書式設定」→「保護」タブの”ロック”にチェックされていてはじめて機能します。
ですから、シート保護を設定した後、一部のセルを加工したいのなら、そのセルの”ロック”を外せばいいんです。
試してみて下さい。

  • 回答No.1
レベル14

ベストアンサー率 21% (516/2403)

保護を解除してからもう一度保護するしか無いのではないでしょうか。
保護を解除してからもう一度保護するしか無いのではないでしょうか。
  • 回答No.3
レベル14

ベストアンサー率 34% (664/1947)

再びです。 一つ付け加えますが、「シートの保護」設定をする前に、加工したいセルの”ロック”を外してから保護設定するようにしましょう。 でないとセルじたい触れないですよ。 #当たり前ですが(^^;) ...続きを読む
再びです。
一つ付け加えますが、「シートの保護」設定をする前に、加工したいセルの”ロック”を外してから保護設定するようにしましょう。
でないとセルじたい触れないですよ。

#当たり前ですが(^^;)
補足コメント
pinkymomorin

お礼率 15% (5/33)

もちろんNo.2,3に書いてある方法でシートの保護をしました。
その後保護をしていないセルを塗りつぶそうとすると、ツールバーに塗りつぶしのボタンは表示されているのですが、色の種類がグレーになっていて選択できない状態になっています。ということは出来ないということなのでしょうか?
投稿日時 - 2002-01-17 11:57:17
  • 回答No.4
レベル14

ベストアンサー率 34% (664/1947)

そうですね。 私も今試してみたんですが、塗りつぶし機能は出来ませんでした。 もし加工したいなら、やはりNo.1の方の言うとおり、解除して加工してから再び保護設定するか、VBA設定するしかなさそうです。 #「オブジェクトの保護」を外せば出来たような記憶があったので、大変失礼しました(-_-;)
そうですね。
私も今試してみたんですが、塗りつぶし機能は出来ませんでした。
もし加工したいなら、やはりNo.1の方の言うとおり、解除して加工してから再び保護設定するか、VBA設定するしかなさそうです。

#「オブジェクトの保護」を外せば出来たような記憶があったので、大変失礼しました(-_-;)
  • 回答No.5
レベル13

ベストアンサー率 68% (791/1163)

シートの保護・非保護に関係なく色を塗るマクロ例です。パスワードは考慮していません。やっていることは単純ですのでコメントを見てもらえばと思います。 ツール→マクロ→Visual Basic Editor でVBE画面に移り、挿入→標準モジュール で標準モジュールを挿入します。出てきたコードウインドウに下記マクロを貼り付けます。 頻繁に使う場合は、ツール→マクロ→マクロ でこのマクロを選択し、 ...続きを読む
シートの保護・非保護に関係なく色を塗るマクロ例です。パスワードは考慮していません。やっていることは単純ですのでコメントを見てもらえばと思います。


ツール→マクロ→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
補足コメント
pinkymomorin

お礼率 15% (5/33)

どうもありがとうございました。とっても助かりました。
VBのことが全く分からないので教えていただきたいのですが、例えば一色しか指定出来ないようにする方法はないでしょうか。
また、ショートカットキーを割り当てておくと便利と言うことですが、ツールバーにあるボタンの様なものを作ることは出来ないでしょうか?
投稿日時 - 2002-01-21 09:59:50
  • 回答No.6
レベル13

ベストアンサー率 68% (791/1163)

>例えば一色しか指定出来ないようにする方法はないでしょうか '==================================最初の回答をアレンジ=== 'シートの保護、非保護にかかわらず塗りつぶし可能にする Public Sub PatternSet()   With ActiveSheet     If .ProtectContents Then       . ...続きを読む
>例えば一色しか指定出来ないようにする方法はないでしょうか

'==================================最初の回答をアレンジ===
'シートの保護、非保護にかかわらず塗りつぶし可能にする
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)作ったツールバーを既存のツールバーが並んだ箇所の空いた所にドラッグ&ドロップ。
この作ったツールバーを表示したくない時は、表示→ツールバーでチェックをはずします。
補足コメント
pinkymomorin

お礼率 15% (5/33)

たびたびすみません。
上記の別法をコピーして使うことは出来たのですが、excelを閉じて再度このマクロ機能を使おうとすると次のエラーが出てしまいます。
”このプロジェクトのマクロは無効に設定されています。”というウィンドウが表示されてしまうのですが、マクロを有効にする方法を教えて下さい。
よろしくお願いいたします。
投稿日時 - 2002-01-22 14:07:03
お礼コメント
pinkymomorin

お礼率 15% (5/33)

先日マクロのプログラムを作成していただきましたが、ユーザ設定のボタンを作った際にこのボタンが全てのファイルで有効になってしまうため、このファイルの場合だけ表示させるようにしたいのですが、どのようにしたらよいのでしょうか。
投稿日時 - 2002-02-08 15:43:43
このQ&Aで解決しましたか?
関連するQ&A
-PR-
-PR-
このやり方知ってる!同じこと困ったことある。経験を教えて!
このQ&Aにはまだコメントがありません。
あなたの思ったこと、知っていることをここにコメントしてみましょう。

その他の関連するQ&A、テーマをキーワードで探す

キーワードでQ&A、テーマを検索する
-PR-
-PR-
-PR-

特集


いま みんなが気になるQ&A

関連するQ&A

-PR-

ピックアップ

-PR-
ページ先頭へ