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

Excel フォームの登録

  • 暇なときにでも
  • 質問No.246299
  • 閲覧数169
  • ありがとう数0
  • 気になる数0
  • 回答数4
  • コメント数0

お礼率 56% (39/69)

Excel97でチェックボックスにチェックを入れてもらうと自動的に選択した料金が違うセルに表示できるようにしたいのですが、その場合マクロの登録をすればよいのではないかとおもうのですが、どうすればいいのか教えて下さい。
通報する
  • 回答数4
  • 気になる
    質問をブックマークします。
    マイページでまとめて確認できます。

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

  • 回答No.1
レベル13

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

>チェックボックスにチェックを入れてもらうと自動的に・・・
とありますが、チェックを入れると自動的に何かを決定できるのはオプションボタンでしょう。
オプションボタンとして書いてみます。

>その場合マクロの登録をすればよいのではないかとおもうのですが・・・
オプションボタンの機能だけを使うならマクロ不要です。


質問について考えると、
(1)表示→ツールバー→フォームのオプションボタン を使う
(2)表示→ツールバー→Visual Basicのコントロールツールボックスのオプションボタン を使う
(3)ユーザーフォームを使用してオプションボタン を使う
の3種類が考えられます。(3)はフォームの表示でコードを書く必要がありますが、(1)、(2)の場合はマクロ不要です。

(1)の場合、例えばオプションボタンを3個使用して
     1個目のオプションボタンを選択したらセルF2に『100』を表示
     2個目のオプションボタンを選択したらセルF2に『200』を表示
     3個目のオプションボタンを選択したらセルF2に『300』を表示 するとします。
  オプションボタンを1つ選んで、右クリック→コントロールの書式設定→コントロールタブ
  リンクするセルにJ2を入力(J2は例です。選択結果を格納する場所を指定するわけです)
  選択状況を表示したいF2に=CHOOSE(J2,100,200,300)と入力します。

(2)の場合、オプションボタンを3個貼り付けます。機能は(1)と同じとします。
     1個目のオプションボタンを選択して右クリックしてプロパティを選択。
     LinkedCellにJ2を入力。
     同様に2つ目のオプションボタンにはLinkedCellにJ3を入力。
     同様に3つ目のオプションボタンにはLinkedCellにJ4を入力。
     K2に =IF(J2=TRUE,100,0)
     K3に =IF(J3=TRUE,200,0)
     K4に =IF(J4=TRUE,300,0)
     F2に =SUM(K2:K4)  とします。

(3)の場合はフォームの表示のためにコードを書く必要がありますがオプションボタンを選択した時の処理は(2)と同じでしょう。
補足コメント
budouaji

お礼率 56% (39/69)

早速回答していただいてありがとうございます。教えていただいた方法(1)でしてみて確かにこれでできたのですが、1つ質問があります。リンクするセルは1つしか選べないんでしょうか。というのも質問が何問かあり1つの質問に対して1つのリンクというふうにしたいのですができますか?例えば質問1でオプションボタンを5つ使います。質問2で新たにオプションボタンを使用して選択してもらうばあいどのように設定すればいいんでしょう?質問1と質問2はまったく別のものとして考えたいのですがうまくいきませんでした。このような場合(1)ではできないのでしょうか?できるだけ簡単な方法があれば教えて下さい。よろしくお願いします。
投稿日時 - 2002-04-03 23:06:34
-PR-
-PR-

その他の回答 (全3件)

  • 回答No.2
レベル14

ベストアンサー率 28% (4323/15248)

表示-ツールバー-VisualBasic-コントロールツールバー(金槌)を順にクリックする。コントロールツールボックスから、 Sheet1にチェックボックスをドラッグアンドドロップ。もう一つSheet1にチェックボックスをドラッグアンドドロップ。次ぎに ツール-マクロ-VisualBasicEditorを順にクリックする。 プロジェクトエクスプローラーのSheet1をダブルクリック General ...続きを読む
表示-ツールバー-VisualBasic-コントロールツールバー(金槌)を順にクリックする。コントロールツールボックスから、
Sheet1にチェックボックスをドラッグアンドドロップ。もう一つSheet1にチェックボックスをドラッグアンドドロップ。次ぎに
ツール-マクロ-VisualBasicEditorを順にクリックする。
プロジェクトエクスプローラーのSheet1をダブルクリック
General側はCheckBox1をクリック、Declaration側はClickedをクリック
-------
Private Sub CheckBox1_Click()
ActiveCell = 100
End Sub
-------
Private Sub CheckBox2_Click()
ActiveCell = 200
End Sub
を入力し、実行。
Sheet1の望みのセルをクリックしておいて、CheckBox1をクリックすると100、CheckBox2をクリックすると200とセットできる。
CheckBoxは必要なだけ増やし、ActiveCell=の右辺に値段をセット。

  • 回答No.3
レベル13

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

>質問2で新たにオプションボタンを使用して選択してもらうばあい >どのように設定すればいいんでしょう? 表示→ツールバー→フォームでフォームのダイアログの中にグループボックス(小さいxyzがある)があります。 これをシートに貼り付けて、この中に必要な数のオプションボタンを配置します。 グループボックスの中にあるオプションボタンはそれだけで独立なグループになり、グループボックスの外の他のオプ ...続きを読む
>質問2で新たにオプションボタンを使用して選択してもらうばあい
>どのように設定すればいいんでしょう?

表示→ツールバー→フォームでフォームのダイアログの中にグループボックス(小さいxyzがある)があります。

これをシートに貼り付けて、この中に必要な数のオプションボタンを配置します。
グループボックスの中にあるオプションボタンはそれだけで独立なグループになり、グループボックスの外の他のオプションボタンの干渉を受けません。

したがって、

 質問1用のグループボックスを配置
   →その中に質問1に必要な数のオプションボタンを配置
   →リンクするセルを決定
   →表示用の算式を入力

 質問2用のグループボックスを配置
   →その中に質問2に必要な数のオプションボタンを配置
   →リンクするセルを決定
   →表示用の算式を入力

 質問3用・・・・
  :
  :

という手順でできるでしょう。
補足コメント
budouaji

お礼率 56% (39/69)

ありがとうございます。できました(笑顔)何度も聞いて申し訳ないんですが乗りかかった船だと思って助けてください。グループボックスの外の線は消す事ができないんでしょうか?いろいろこころみたけどだめでした。無理ならしょうがないんですけどなにかいいアドバイスがあれば教えてください。
投稿日時 - 2002-04-04 09:44:35
  • 回答No.4
レベル13

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

>グループボックスの外の線は消す事ができないんでしょうか? 基本的にはそのようなオプションはないはずです。でも、見えなくすることはできます。 (1)グループボックスのテキストはテキストの編集で消去してしまう (2)グループボックスより大きいオートシェイブの四角形を描く。 (3)この四角形の書式を、塗りつぶしは自動、線は線なしにする。 (4)この四角形をグループボックスに重ねる。 (5)四角 ...続きを読む
>グループボックスの外の線は消す事ができないんでしょうか?

基本的にはそのようなオプションはないはずです。でも、見えなくすることはできます。
(1)グループボックスのテキストはテキストの編集で消去してしまう
(2)グループボックスより大きいオートシェイブの四角形を描く。
(3)この四角形の書式を、塗りつぶしは自動、線は線なしにする。
(4)この四角形をグループボックスに重ねる。
(5)四角形を右クリックし、順序→最背面へ移動。
(6)グループボックスを右クリックし、順序→最背面へ移動。
下から、グループボックス→四角形→オプションボタンの順に重ねるわけです。
シートの枠線も非表示(ツール→オプション)にしてしまえば違和感もなくなります。

このフォームのグループボックスやオプションボタンを使うと、それが選択(編集)状態になってしまうことがあります。これを回避するには、シートを保護します。ただ、オプションボタンで変更になるセルは保護を解除しておく必要があります。

上記はフォームのオプションボタンを使う場合ですが、コントロールツールボックスのオプションボタンを使えば、プロパティのGroupNameを『質問1』や『質問2』にすれば区分けができ、グループボックスを使う必要はありません。編集状態になることもありません。

フォームのコントロールは古く、使い勝手も悪いので、私は、コントロールツールボックスのコントロールを使うようにしています。
このQ&Aのテーマ
このQ&Aで解決しましたか?
関連するQ&A
-PR-
-PR-
このやり方知ってる!同じこと困ったことある。経験を教えて!
このQ&Aにはまだコメントがありません。
あなたの思ったこと、知っていることをここにコメントしてみましょう。

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

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

特集


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

関連するQ&A

-PR-

ピックアップ

-PR-
ページ先頭へ