• ベストアンサー

excelの機能について

いつも大変お世話になっております。 今回の質問は、excel2003の機能について質問させていただきます。 excelを開き、表示⇒ツールバー⇒フォームを選択し、チェックボックスをセル上に書き、このチェックボックスを利用しONした場合にセル上の文字の色を変えることには成功しました。 ここまで出来るまでにも時間がかかったのですが、出来ればチェックボックスがONになった時に必要な部分だけのセルを消す事が出来ないものかと・・・ 今回の質問のような機能の設定方法をご存知のかたがおられましたら教えてください。 宜しくお願い申し上げます。

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

  • ベストアンサー
  • xls88
  • ベストアンサー率56% (669/1189)
回答No.5

>回答番号:No.2 この回答への補足 「マクロの記録」という素晴らしい機能がExcelにはついています。 ここら辺から馴染んでいけばよいと思います。 「エクセルVBA」でマクロの作成 http://kiyopon.sakura.ne.jp/vba/index.htm サンプルマクロです。 チェックボックスのON/OFFで、行1~5を表示/非表示します。 チェックボックスに「マクロの登録」してください。 当然チェックボックスは、6行目以下になければいけません。 Sub test1() Dim cb As Object Set cb = ActiveSheet.Shapes(Application.Caller) With cb If .DrawingObject.Value = 1 Then Rows("1:5").Hidden = True Else Rows("1:5").Hidden = False End If End With End Sub

POP7152
質問者

補足

xls88様 早速上記のプログラムで実行してみました。 実行したところ、「コンパイルエラー」 EndSubが必要です。というエラーが発生します。 ご教授いただけませんでしょうか。 宜しくお願い申し上げます。

その他の回答 (7)

  • xls88
  • ベストアンサー率56% (669/1189)
回答No.8

>回答番号:No.7 この回答への補足 ということは、コントロールツールボックスのチェックボックスです。 質問文では ”表示⇒ツールバー⇒フォームを選択し” と書かれています。 従って、先に提示したコードはフォームのチェックボックス用です。 「マクロの登録」して使います。 コントロールツールボックスのチェックボックスの場合は下記にしてみてください。 Private Sub CheckBox1_Click() If CheckBox1.Value = True Then Rows("1:5").Hidden = True Else Rows("1:5").Hidden = False End If End Sub コードの塊をプロシージャといいます。 Private Sub CheckBox1_Click() 'プロシージャの始まり  ・処理 End Sub 'プロシージャの終わり プロシージャの中にプロシージャを入れ子にはできません。 Private Sub CheckBox1_Click() 'プロシージャの始まり  Sub test1() 'プロシージャの始まり   ・処理  End Sub 'プロシージャの終わり End Sub 'プロシージャの終わり

POP7152
質問者

お礼

xls88様 回答有難う御座いました。 マクロと聞いてVBAなのかと勘違いしていました・・・申訳ありませんでした。 無事セルを非表示にする事ができました。 この度は、何度も質問に答えていただき誠に有難う御座いました。 これから少しずつVBやVBAについても学んでいきたいと思います。 大変勉強になりました。有難う御座いました。

  • xls88
  • ベストアンサー率56% (669/1189)
回答No.7

では、余分なマクロ名が上の方にある、ということはないでしょうか? それでもだめなら、 こちらの回答欄からコードをコピーし、新規の標準モジュールに張り付けて確認してみてください。

POP7152
質問者

補足

xls88様 下記をそのまま貼り付けましたがだめでした。 Sub test1() Dim cb As Object Set cb = ActiveSheet.Shapes(Application.Caller) With cb If .DrawingObject.Value = 1 Then Rows("1:5").Hidden = True Else Rows("1:5").Hidden = False End If End With End Sub 最初にチェックボックスを作成し、ダブルクリックすると下記が表示されますが、上記のプログラムは、Private Sub CheckBox1_Click()の下から貼り付けるのか、それともPrivate Sub CheckBox1_Click()を省くのかどちらでしょうか?(今回どちらで試してもだめでした。) Private Sub CheckBox1_Click() End Sub その他注意点などありましたらお願いします。

  • xls88
  • ベストアンサー率56% (669/1189)
回答No.6

>回答番号:No.5 この回答への補足 コードの最下行に End Sub がありますか?

POP7152
質問者

補足

xls88様 お世話になっております。 End Subあります。 その他注意する点などありますでしょうか? 宜しくお願いします。

  • xls88
  • ベストアンサー率56% (669/1189)
回答No.4

↓参考になるかもしれません。 Excel チェックボックスのコピー、チェックをONにすると対象セルの文字の色が変わる方法 http://oshiete1.goo.ne.jp/qa5180004.html

  • ASIMOV
  • ベストアンサー率41% (982/2351)
回答No.3

>一時的にセルを表示しないようにする と言うことは、チェックボックスのチェックを外したら元に戻すと言うことですか? >指定した範囲のセルを どうやって「指定」するのですか?

POP7152
質問者

補足

ASIMOV様 チェックボックスのチェックを外したら元に戻します。 セルの指定は間違いでした。 行または列を丸ごと非表示にするというのが今回の目的です。 宜しくお願いします。

  • xls88
  • ベストアンサー率56% (669/1189)
回答No.2

>チェックボックスがON(TRUE)になった時、指定した範囲のセルを表示させない。 ”表示させない”の意味がよく分かりません。 セルその物を”非表示にする”という意味ですか? ということになると、行列単位になり、マクロを組むことになると思います。 入力内容が見えなければ良いのなら すでにやられている方法で、フォントをセルと同じ色にすればよいと思います。 ただし、そのセルを選択すると、数式バーに入力内容が表示されます。

POP7152
質問者

補足

xls88様 補足させていただきます。 今回やりたいのは、行を非表示にすることです。 例として、セルA1からA5まで適当な文字が入力されていて、チェックボックスをONした時に1~5までの行を非表示にし、6から下の行が表示されている状態にする。 こうなるとマクロが必要になるんですか? マクロは良く聞きますが、一度も組んだ事がありません。 VBを数年前にちょっとかじっただけなのですが、素人にでも組めるもんなのでしょうか? 宜しくお願いします。

  • ASIMOV
  • ベストアンサー率41% (982/2351)
回答No.1

>必要な部分だけのセルを消す事が出来ないものかと・ 「消す」の意味ですが.. 1.表示を消す(色を白にするとか) 2.データーを消す(削除する) 3.セルそのものを削除する どれでしょう? また、「必要な部分」とは、セル番号で指定できるという事でしょうか?

POP7152
質問者

補足

ASIMOV様 質問内容を補足させていただきます。 セルを消すという表現は正しくなかったです。 消すではなく一時的にセルを表示しないようにするというのが今回のやりたいことです。 チェックボックスがON(TRUE)になった時、指定した範囲のセルを表示させない。 この補足でわかりますでしょうか。 宜しくお願い申し上げます。

関連するQ&A

  • 一つのセルの中に二個のチェックボックスを作りたい

     Excel2003の質問です、宜しくお願いします。  一つのセルの中で 「□良い □悪い」という回答にチェックを入れて貰うような フォームみたいなものを設定したいのですが、どのようにしたら良いのでしょうか。  Wordなら、ツールバーのフォームから設定できそうなのですが、Excelの一つのセル の中に二つ以上のチェックボックスの設定の仕方が分かりません。  また、二個以上のチェックをつけるとセルの色が赤になるとか、何もつけない (シートを開いた状態)と緑になるとかにしたいのですが、どのようにしたら良いのか、 さっぱり分かりません。  宜しくお願いします。

  • エクセル2007 フォームコントロールについて

    エクセルのフォームコントロールの チェックボックスをオンすると、周辺のセルの色が変わるブックをみたのですが、 どうやって作っているのでしょうか・・・。 思いつかれるかたお願いします。

  • チェックボックス・オンを数えたい

    エクセルで作成した表の中の列に 表示→ツールバー→フォームで チェックボックスを作りました。 その列の一番下に、 チェックボックス・オンのセルの数×¥3000を表示させたいのですが、 出来ますでしょうか?

  • エクセルのコマンドボックスを初期値に戻す方法を教えてください。

    エクセルのコンボボックスに初期値を表示する方法を教えてください。 セル A1に "選んでください"    A2に りんご    A3に ばなな とあって、コンボボックスで「りんご」を選択すると  セルB1に 2 、「ばなな」を選択すると セルB1に 3 が返されるようにしています。 コマンドボタンを押すと、直近で何が選択されていても、 コンボボックスには 「選んでください」 セルB1には 1 が返されるようにしたいのですが、どうしたらいいでしょうか。  エクセルの ツール → ユーザー設定 → ツールバー → フォーム から 持って来たコンボボックスには 「ドロップ1」という名前がついています。 また、コマンドボタンは 同様にエクセルの ツール → ユーザー設定 → ツールバー → フォーム から 持ってきており、「ボタン1」という名前がついています。

  • EXCELの対話機能

    EXCEL2000で、セルを選択後、Webページとして保存をクリック。ダイアログボックスの選択範囲にチェックし、対話機能を追加するにチェックをいれ、保存したところ、保存は出来ているのに、タイトルバーのファイル名が変わりません。なぜでしょうか? そして、保存できたファイルを開こうとすると、「KERNEL32.DLL」というエラーが出て、強制修了がかかってしまいます。何かファイルが足りないのでしょうか? 教えてください!

  • エクセルのフォントで

    お世話になります。 現在、EXCEL2000を使用しています。 エクセルでチェック表を作っており、そのチェックをフォームツールバーのチェックボックスを利用して、チェック及びチェック項目をテキストの編集にて作成しています。 そこでお伺いいたいのは、このチェックボックスのテキストのフォントなのですが、現在はMSゴシックで出てきているのですが、他の文字はMS明朝を使っているので、変更したいと思うのですが、変えることが出来ません。 どなたかご教示いただけませんか?

  • 初心者ですみません

    エクセルなんですが、チェックボックスを貼り付けようと思いフォームから貼り付けたのですが、セルの上に乗ってしまい、セルに貼りつきません。どのような設定をすればよいのでしょうか?また、貼り付けたら、そのチェックボックスをチェックすることによってその列の色が変わるように設定したいのですが・・・。どうしたら良いのでしょうか?素人質問ですみませんが教えてください。

  • エクセルでセルの入りを変えたい

    こんにちは。 会社で、EXCEL2003を使用しています。 とある上司から、「今選択しているセルの色を変えれるとすごく見やすくなるんだよなぁ。何とか出来ない?」と聞かれて困っています。 うまく説明できませんが、新規でエクセルを開いた時、セルはA1を選択していますが、そのA1だけ色を変えたいのです。もちろん、B1へ移動したら、B1のセルの色が変わり、A1は基に戻る感じです。 私的には、そんな機能無いと思いますが、ひょっとしたら「できます!!」なんて情報があるかもしれないので、質問してみました。 因みに、OSはWinXPです。 よろしくお願いします。

  • エクセルの機能

    エクセルの機能で、 同じフォームの表が2つあって それらの数値が全く同じかどうか、チェックする機能が あるか確認したいのですが、 そういうことってできますか。 お願いします。

  • エクセルのチェックボックスについて教えてください

    エクセルのチェックボックスについて質問します。 ネットで調べたところ、下記の様にありました。 (1)[フォーム]ツールバーを表示しておきます。[チェックボックス]ボタンをONにして、ワークシート上でクリックすると、チェックボックスが表示されます。 (2)チェックボックス上で右クリックし、[コントロールの書式設定]をクリックします。 (3)[コントロールの書式設定]のダイアログボックスで、[コントロール]のタブをクリックし、[値]で規定値を設定します。・・・ とありましたが、私の使用しているパソコンでは、コントロールの大やログボックスで[コントロール]タブが見当たりません。 何か特別な設定でもいるのでしょうか? 使用しているエクセルは2003です。 分かる方がいらっしゃいましたら教えてください。よろしくお願いします。

専門家に質問してみよう