忙しい現代人の腰&肩のお悩み対策!

エクセルのシートにチェックボックスと文字列(□あいうえお)などが入ったものがあり、文字列は保護したいものの、チェックボックスそのものは保護対象外にしたいのですが、チェックボックスがあるセルを対象外に設定したつもりでもどうしても「保護されているため読み取り専用となります」となってしまいます。
どなたかチェックボックスに対する保護対象外のやり方をご存じでしたら教えてください!よろしくお願いします。

このQ&Aに関連する最新のQ&A

A 回答 (2件)

チェックボックスはフォームかコントロールツールボックスのものですよね。


リンクしたセル(チェックボックスがあるセルとは限りません)を設定してませんか?
リンクしたセルが保護されてると状態変化できないはずですが...
    • good
    • 4
この回答へのお礼

ありがとうございます!この情報に加え、ロックされているセルを選択できないという条件が保護するときに入っていたのでできなかったことが判明しました。

お礼日時:2007/01/29 16:16

リンクするセル(コントロールタブで指定)で指定しているセルの


ロックを解除すればうまくいくと思います。
    • good
    • 1
この回答へのお礼

ありがとうございます!参考になりました。

お礼日時:2007/01/29 16:17

このQ&Aに関連する人気のQ&A

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人はこんなQ&Aも見ています

このQ&Aを見た人が検索しているワード

このQ&Aと関連する良く見られている質問

Qチェックボックスの箱のサイズとフォントサイズは変更できるの?

こんにちわ。

エクセル2000でチェックボックスを作成したのですが、
やや、小さいのでサイズを大きくしたいのです。
ボックスサイズ、ボックスの横に入れる文字の
フォントサイズは大きくできるのでしょうか?
もし、できるのなら方法を教えてください。

よろしくおねがいします。

Aベストアンサー

コントロールツールボックスのチェックボックスならプロパティにFontがあるので変更できます。

フォームのチェックボックスやオプションボタンのフォントサイズは変更できなかったと思いますが、変更したように見せかけはできます。使用上、特に問題はないと思います。(だからダイアログにフォントがない?)

チェックボックスの位置によって、
(1)チェックボックス(四角)がセルの中央にある場合
 チェックボックスのテキストを必要な長さの空白にしてしまいます。
 チェックボックス(四角)の右横のセルにチェックボックスの説明のテキストを入れます。
 セルの書式設定でフォントが変更できます。
(2)チェックボックス(四角)をセルの境目などにセットする場合
 チェックボックスのテキストを必要な長さの空白にしてしまいます。
 図形描写からテキストボックスを選択し、チェックボックスの説明のテキストを入れます。
 テキストボックスは『線なし』にしておきます。2行で表示したりもできます。
 チェックボックスとテキストボックスを重ねて、見た目を調節します。
 テキストボックスを選択し、右クリック→順序→最背面へ移動 とします。

ご参考に。

コントロールツールボックスのチェックボックスならプロパティにFontがあるので変更できます。

フォームのチェックボックスやオプションボタンのフォントサイズは変更できなかったと思いますが、変更したように見せかけはできます。使用上、特に問題はないと思います。(だからダイアログにフォントがない?)

チェックボックスの位置によって、
(1)チェックボックス(四角)がセルの中央にある場合
 チェックボックスのテキストを必要な長さの空白にしてしまいます。
 チェックボックス(四角)の右横のセ...続きを読む

Qエクセルのチェックボックスの保護解除についてお願いします。

エクセルのコントロールツールボックスから作る チェックボックスですが、ツールボックスを開いて、コントロールの書式設定を開いて、保護を開いて、ロックを外したのですが、シートに保護をかけると ロックがかかった状態になっていて チェックを入れることが出来ません。どうしたら 良いのでしょうか。どなたか教えて下さい。お願いします。

Aベストアンサー

はじめまして。
もしかするとデザインモードがON状態になっていませんか。
エクセル画面の上にあるツールバーの中に三角定規のマークをしたボタンがあります。このボタンが押された状態になっているとこのようなことが起こります。そのボタンをクリックするとON・OFFを繰り返します。
OFF状態にするとチェックを入れることができるようになります。

もし、この状態で直らなかった時は、ご面倒でなければ、次のことをやってみて下さい。私がエクセル2000で確認しましたが、チェックを入れることができました。

1.新規ブックを立ち上げ、シートにチェックボックスを配置する。
2.チェックボックスの設定は何もせずに、シートの保護をかける。

この状態でうまくいくのであれば、あなた様の使われているブックが壊れているか、チェックボックスに設定した内容が原因と考えられます。

もし、これでもうまくいかないのであれば、一度マイクロソフトのサポートセンターへ電話をしてみたらいかがでしょうか。連絡先を下記に記載しておきます。
03(5354)4500

QエクセルのIF関数で、文字が入力されていたならば~

エクセルのIF関数で文字が入力されていたならば~、という論理式を組み立てたいと思っています。

=IF(A1="『どんな文字でも』","",+B1-C1)

A1セルに『どんな文字でも』入っていたならば、空白に。
文字が入っていなければB1セルからC1セルを引く、という状態です。

この『どんな文字でも』の部分に何を入れればいいのか教えてください。

またIF関数以外でも同様のことができれば構いません。

宜しくお願いします。

Aベストアンサー

=IF(ISTEXT(A1),"",B1-C1)

でどうでしょうか?

QExcelでチェックボックスを使った列のコピー方法

案件進捗表を作成しています。
進捗に応じて右へ右へとチェックボックスにチェックを入れていく形にしていて、
チェックボックスのとなりのセルに真偽の値を入れるように反映させています。
案件が増えるごとに、1,2,3行と・・とデータを増やしていきたいのですが、
1行目に作成した形式を下にコピーするとチェックボックスが全データ同じ動きをしてしまいます。
となりのセルに「TRUE」などを返すように反映させているチェックボックスはコピーできませんか?
教えてください。よろしくお願いします。

Aベストアンサー

エクセルでは、「フォーム」のチェックボックスと「ActiveXコントロール(コントロールツールボックス)」のチェックボックスの、2種類のチェックボックスが利用できます。
ご相談ではいったいどっちを使って作成したのか、しっかり情報提供してください。

#余談ですがご利用のエクセルのバージョンについても、必ず明記する事を憶えて下さい。


ただまぁ、どちらを使っても「下にコピーしただけで隣に結果が返る」ようにする方法は、残念ですがありません。



というワケで出来る方法:
1.今まで作成したチェックボックスはすべて消去する
2.「フォーム」のチェックボックスをシートに配置する
  その際、必ず「セルの中に納まる」ようにセルの大きさも含めて調整する
3.コントロールの書式設定は「設定しない」でおく
4.右クリックして「マクロの登録」を開始する
5.新規作成を選択、現れた画面で

Sub チェック1_Click()
with activesheet.shapes(application.caller).topleftcell.offset(0, 1)
.value = not .value
end with
End Sub

のように記入作成する

6.ファイルメニューから終了してエクセルに戻る
7.マクロを登録したチェックボックス「が載っているセル」をコピーし、必要なセルに貼り付ける
8.チェックを入れたり外すと、右隣のセルに-1と0が交互に現れる



#おまけ
-1と0のセルにセルの書式設定の表示形式のユーザー定義で
0;"TRUE";"FALSE"
と設定しておくと、TRUEとFALSEの表示になります。「見た目」が重要な時は適宜利用してください。

エクセルでは、「フォーム」のチェックボックスと「ActiveXコントロール(コントロールツールボックス)」のチェックボックスの、2種類のチェックボックスが利用できます。
ご相談ではいったいどっちを使って作成したのか、しっかり情報提供してください。

#余談ですがご利用のエクセルのバージョンについても、必ず明記する事を憶えて下さい。


ただまぁ、どちらを使っても「下にコピーしただけで隣に結果が返る」ようにする方法は、残念ですがありません。



というワケで出来る方法:
1.今まで作成した...続きを読む

QExcelでチェックボックスにチェックが入れられない。

初心者でお願いいたします。

仕事で業者さんから送っていただきましたExcelのファイルで、チェックボックスを入れるところがあるのですが、そこにチェックを入れることができません。

チェックボックスのところをクリックしようとすると、そのボックスの部分が四角で大きく囲まれたような状態になるだけで、チェックマークを入れようとしているのですが、何が原因で入れられないのでしょうか?

わかりません。
お願いいたします。

Aベストアンサー

> 確かに、画面中央にそのようなものが出ていました。
それを消してみましたが、チェックは入りません。

「デザインモードの終了」操作をされていないのではないかと思います。

メニューバーの「表示」→「ツールバー」で表示されるサブメニューに「デザインモードの終了」というのがあれば、クリックして「デザインモードの終了」を表示させてください。

表示された「デザインモードの終了」で、×(閉じる)ではなく、三角定規のような部分(デザインモードの終了)をクリックして、デザインモードを終了させた後、×(閉じる)で閉じてください。

以上で、チェックボックスをクリックするとレが入ると思います。

Q2つ以上のチェックボックスを連動させるには?

Eecelで、同一シートに複数のチェックボックスがあるとき、ある特定のチェックボックスにチェックを入れると、他の特定のチェックボックスに自動的にチェックが入るようにするには、どうすればいいのでしょうか?

Aベストアンサー

チェックボックスは「フォーム」のチェックボックスを使用されていますか?
その場合、リンクするセルを指定できるはずです。
ここでVBAを使って
仮に1A1にあるのチェックボックスにチェックを入れた時、
B1、C1のチェックボックスにチェックを入れたいとします。
Sub test()
If Cells(1, 1) = true Then
cells(1,2)=true
cells(1,3)=true
elseif Cells(1, 1) = False Then
cells(1,2)=false
cells(1,3)=false
End if

これをA1のチェックボックスの「マクロを登録」のところで指定して下さい。

これで連動すると思いますが。

QExcelのシートを保護してオプションボタンの選択のみ可能にしたい

Windows2000、Excel2002使用です。
オプションボタンを使用し、Excelでアンケートを作成しました。
(メニュー>ツールバー>コントロールツールボックスを呼び出して、オプションボタンを作成しています。)

シートを保護して、オプションボタンの選択と一部のセルへの記入のみできるようにしたいです。

・編集したいセルのロックを解除
・オプションボタンを選択し、右クリック>コントロールの書式設定>ロックを解除
・オプションボタンが置いてあるセルのロックを解除

をおこない、「ロックされていないセルの選択」のみ許可してシートに保護をかけました。
セルに記入はできるのですが、オプションボタンの選択をしようとするとエラーメッセージが出てしまいます。
調べても出てこないので教えてください。お願いします。

Aベストアンサー

シートの保護の際、
「ロックされたセル範囲の選択」または、「オブジェクトの編集」を
許可しないとだめなようですね。

Qエクセルのチェックボックスで3つあるうち1つチェック入れたら自動的に残りにチェック出来ないようにするには

エクセルのチェックボックスで3つあるうち1つチェック入れたら自動的に残りにチェック出来ないようにするにはどうすればよいですか?今日始めてチェックボックスを触りました…

Aベストアンサー

チェックボックスにする必要あるのかな?
そうした、単一のものしか洗濯できないのであれば
ユーザインターフェースとしてはラジオボタン(オプションボタン)
の方が適切に思えるけれど・・・。

さて、質問の件ですが、チェックボックスのクリックイベントで
EnabledプロパティをFalseに設定するとチェックが出来なくなり
Trueにするとチェックが出来るようになります。

Qエクセルでチェックボックスをクリックしたらセルに数値を入力&消去

下記のような表を作成しています。
□はチェックボックス(コントロールツールボックスから作成したもの)で、
A1のチェックボックスにチェックするとD1とE1に○印が入り、
チェックを消すと○印も消えるようにしたいのです。
(B,Cのチェックボックスは違うセルに○印を入れるのですが、
他のチェックボックスと○を付ける項目が重複している所もあります)
 ABCDEFG
1□□□
2□□□

コードはこのようなものを書きました。
Private Sub CheckBox1_Click()
Dim teiban As Integer
teiban = ActiveSheet.CheckBox1.Value
Select Case teiban
Case True
Range("D1,E1").Value = "○"
Case False
Range("D1,E1").Value = ""
Case Else
Range("D1,E1").Value = ""
End Select
End Sub

同じ列にあるチェックボックスは違う行で同じ列に○印が入るのですが、
コードはいちいちチェックボックスごとに書かなければいけないでしょうか?

それと、行数を増やす場合があるのですが、1行目をコピーして3行目に
貼り付けてもチェックボックスはコピーされません。
何か方法がありますでしょうか?

もしチェックボックスではこのような事ができないのであれば
他にやり方などあれば教えていただけたらと思います。

使用しているのはWINDOWS98,EXCEL97です。
ご存知の方、よろしくお願いします。

下記のような表を作成しています。
□はチェックボックス(コントロールツールボックスから作成したもの)で、
A1のチェックボックスにチェックするとD1とE1に○印が入り、
チェックを消すと○印も消えるようにしたいのです。
(B,Cのチェックボックスは違うセルに○印を入れるのですが、
他のチェックボックスと○を付ける項目が重複している所もあります)
 ABCDEFG
1□□□
2□□□

コードはこのようなものを書きました。
Private Sub CheckBox1_Click()
Dim teiban As Integer
teiban = ActiveSh...続きを読む

Aベストアンサー

もう回答してもいいんでしょうか・・・?

コントロールツールボックスのチェックボックスはデザインモードならコピーできるはずです。
ただし、この場合は各チェックボックス毎にコードを書く必要があります。共通ルーチンを呼ぶようにできますが、イベントをまとめてつかまえられないので、コントロールの数分イベントを書く必要があるでしょう。VBAには、VBのようにコントロール配列がないからです。(ユーザーフォーム上ではコントロール配列風な書き方もできますが、シート上では行ったことがありません。余りその気ももおきませんが・・・)

フォームのチェックボックスを使えば、チェックボックスを貼り付けるだけで、コードを追加しなくても(1つのコードで)対応可能です。下はその例です。1つのマクロしかありませんが、理屈では何個のチェックボックスがあってももかまいません。必要な分だけチェックボックスをコピーしてください。(何個まで可能かは確認できていません)
フォームとコントロールツールボックスのコントロールの特性の違いを理解して使うべきでしょう。


作り方
0.下のコードを標準モジュールに貼り付けます。
   ※A、B、C列にチェックボックスがある例です。
   ※登録したマクロ内で、チェックボックスの位置を調べています。
   ※位置が決れば、チェックボックスの値で処理が決定できる理屈です。

1.フォームのチェックボックスを使い、セルA1に納まるように配置します。

2.セルA1のチェックボックスを右クリックし、下のマクロを登録します。

3.セルA1のチェックボックスをコピーして、B1、C1に貼り付けます。

4.1行目を選択して、3行目にコピーします。後は必要な回数繰り返します。
   ※下のコードのB、C列の処理は例です。実状にあうように修正して下さい。
      (Excel97 で確認)

ここから

Sub checkBox_MacroTest()
  Dim chkboxVal As Boolean  'チェックボックスの値
  Dim rw As Long       'チェックボックスのある行
  Dim col As Integer     'チェックボックスのある列

  'チェックボックスの値
  chkboxVal = (ActiveSheet.CheckBoxes(Application.Caller).Value = 1)

  'チェックボックスの位置を調べる
  ActiveSheet.CheckBoxes(Application.Caller).Select
    rw = Selection.TopLeftCell.Row
    col = Selection.TopLeftCell.Column
    Selection.TopLeftCell.Select

  '位置によって『○』を付ける位置を決定する。Falseなら消す。
  Select Case col
    Case 1   'A列のチェックボックス。D、E列を操作している
      Cells(rw, 4) = IIf(chkboxVal, "○", "")
      Cells(rw, 5) = IIf(chkboxVal, "○", "")
    Case 2   'B列のチェックボックス。F、G列を操作している(例)
      Cells(rw, 6) = IIf(chkboxVal, "○", "")
      Cells(rw, 7) = IIf(chkboxVal, "○", "")
    Case 3   'C列のチェックボックス。H、I列を操作している(例)
      Cells(rw, 8) = IIf(chkboxVal, "○", "")
      Cells(rw, 9) = IIf(chkboxVal, "○", "")
  End Select
End Sub

もう回答してもいいんでしょうか・・・?

コントロールツールボックスのチェックボックスはデザインモードならコピーできるはずです。
ただし、この場合は各チェックボックス毎にコードを書く必要があります。共通ルーチンを呼ぶようにできますが、イベントをまとめてつかまえられないので、コントロールの数分イベントを書く必要があるでしょう。VBAには、VBのようにコントロール配列がないからです。(ユーザーフォーム上ではコントロール配列風な書き方もできますが、シート上では行ったことがありません。...続きを読む

Qエクセルで、条件に一致した行を別のセルに抜き出す方法

エクセルで、指定した条件に一致するセルを含む行をすべて抜き出す方法が知りたいです。

たとえば、

<A列> <B列> <C列>
7/1 りんご 100円
7/2 ぶどう 200円
7/2 すいか 300円
7/3 みかん 100円

このような表があって、100円を含む行をそのままの形で、
別のセル(同じシート内)に抜き出したいのですが。

7/1 りんご 100円
7/3 みかん 100円

抽出するだけならオートフィルターでもできますが、
抽出結果を自動的に、別の場所に、常に表示させておきたいのです。

初歩的な質問だと思いますが、検索しても分からなかったので、よろしくお願いします。

Aベストアンサー

同じ質問が結構よく出てますが、そんなに初歩的でもありません
別シートのA1セルに「100円」と入力し、そのシートの任意のセルに以下の式を貼り付けて下さい。後は、下方向、右方向にコピー。
日付のセル書式は「日付」形式に再設定してください

=IF(COUNTIF(Sheet1!$C:$C,$A$1)>=ROW(A1),INDEX(Sheet1!A:A,LARGE(INDEX((Sheet1!$C$1:$C$500=$A$1)*ROW(Sheet1!$C$1:$C$500),),COUNTIF(Sheet1!$C:$C,$A$1)-ROW(A1)+1)),"")

データ範囲は500行までとしていますが、必要に応じて変更して下さい


このQ&Aを見た人がよく見るQ&A

人気Q&Aランキング