VB初心者です(パソコンも)。というか名前しか知りません。さっき生まれて初めて「ビジュアル ベイシックツールバー」なるものを開きました。そんな私が今大変無謀なことをしています(ただし、私にとってですが…)。
 どなたか助けてください。

 何をしようとしているかというと、ワード(エクセルでもいいです)の本文中に、コンボボックス(逆三角形のマークのついたボタンをクリックすると、下向きにサッといくつか選択肢が現れ、そのうちのいずれかを選べるやつ)を作ろうとしているのですが、その選択肢データの入力方法がわかりません。
 実はちょっとしたアンケートのようなものを作っているんですが、そのスペースが非常に狭いため、通常のアンケートのように、本文中に「□よい、□悪い、□普通」というように表示して、該当するものにチェックをというようなことができないような状況にあります。そこですこしでもスペースをかせぐため、コンボボックス(こんなものがあるということも今日初めて知りました)を使おうと思ったんですが、この選択肢である「よい」とか「悪い」といった言葉が設定できません。というか知りません。
 どなたか教えていただけないでしょうか。(今、まさにその作業中です。)
 なお、ビジュアルベーシックツールバーからコントロールツールバーを表示させ、コンボボックスを選択する。今私の知識でできるのは、それだけです。アクセスもできません。そんな私に神の知恵をお願いします。

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

A 回答 (2件)

こんばんは!



>ワード(エクセルでもいいです)の本文中に、コンボ
>ボックス(逆三角形のマークのついたボタンをクリック
>すると、下向きにサッといくつか選択肢が現れ、その
>うちのいずれかを選べるやつ)を作ろうとしているので
>すが、その選択肢データの入力方法がわかりません。

EXCELの方法で
この場合、コントロールツールボックスのコンボボックス
を使うより、入力規則のリストを使った方が楽です。

あらかじめ、適当な(集計表に関係ない)「列」に選択肢を記載
例えば
    G
  1 よい
  2 悪い
  3 普通

・選択リストを出したい範囲を選択
・メニューの データ 入力規則 設定タブ
 [リスト] 元データ欄に 選択肢の範囲を絶対参照で記載
 例の場合は $G$1:$G$3

以上で、その範囲のセルを選んだ時に▼マークが表示され
リスト選択できます。
マウスで選択する時は▼マークをクリック リストをクリック
キー操作で選択する時は、[Alt]を押しながら[↓]で
リスト表示後、[Alt]を離して[↓]でリストを選択[Enter]
で確定

試して見て下さい!
    • good
    • 0
この回答へのお礼

早々のご回答ありがとうございます!
早速試してみました。うまくいきました!
本当に困っていたので助かりました。

これからは、この技術をしっかりと自分のものにし、知らない友人に「え、知らないの?」とか言って嫌われながらも自慢げに教えていきたいと思います。
人ってこうやって成長していくんですよね?(え、私だけですか?)

お礼日時:2001/09/23 17:18

エクセルとワードでは若干やり方が違いますので、ワードでご説明します。


表示メニューからツールバーで「フォーム」ツールバーを出してください。
ツールバーのチェックボックスフォームフィールドをクリックするとチェックボックスが入ります。
「□よい」の□の部分にチェックボックスを入れてください。これだけでは使用できません。ツールバーの「フォームの保護」ボタンをクリックすると使用可能になります。

ドロップダウン形式にする場合は、ドロップダウンフォームフィールドボタンをクリックし、フォームフィールドのオプションボタンをクリックすると、設定画面がでてきて、中に入れるリストを作成することができますよ。
項目を「入力し追加ボタンをクリックしてください。
    • good
    • 0
この回答へのお礼

ありがとうございます!
教えていただいたとおりにやったらうまくいきました!

ワードでも出来るとは本当に知りませんでした。これからどんどん活用していきたいと思います。

ご回答いただいたお二人とも、貴重な情報をいただいて本当に助かりました。回答には甲乙つけがたい(本当にお二人の回答に助けられました)ので、早く回答を頂いた方に高得点を差し上げますが、私の中ではお二人とも「良回答」です。
ありがとうございました。

お礼日時:2001/09/23 17:25

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

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

Q[Access2003]コンボボックスとリストボックスの違い

今、Access2003のフォームのコントロールの作成について勉強しています。『コンボボックス』と『リストボックス』を見て、コンボボックスは、「ドロップダウン形式でスペースを節約できる点」、リストボックスは、「一覧がすべて表示される」という意味がよく分かりませんでした。
インターネットでいろいろ調べて見たのですが….
例えば・・・・
店名ID 店名
A A店
B B店
C C店
と『コンボボックス』と『リストボックス』が表示され、ボックスの上の選択の矢印があるかないかの違いしか分かりませんでした。

(1)Access初心者なので『コンボボックス』と『リストボックス』について簡潔に教えてくださったら助かります。もしホームページで『コンボボックス』と『リストボックス』について一目で見たら違いが分かるというものが掲載されていたら教えてください。

(2)コンボボックスの「ドロップダウン形式」がよく分からないです。

Aベストアンサー

リストボックスとコンボボックスは
一覧からデータを選択する
違いは 
リストボックスは、一覧が常に表示されている
選択すれば その項目だけ色が反転するだけ

コンボボックスは、「sakura3465」さんが 気がついた
選択の▼を クリックしなければ 一覧は表示されない
一覧が表示され 選択すると その項目しか表示されない
※最初の設定にもよりますが、通常 一行分しか幅をとらないので 

Access2003を 持っていないので 画像はつけることができません
il||li _| ̄|○il||li

QExcelVBA コンボボックスに入力があったらリンクしてテキストボックスを更新したい

フォームで入力画面をつくっています。
あるコンボボックスのリストから項目が選択されたら、一覧からリンクさせてテキストボックスの内容を更新がしたいのです。
例えば「社員コード」のコンボボックスで「3」が選択されたら、「社員名」のテキストボックスに別シートに作成してある社員一覧から「太郎」が表示されるというようにです。

セルA1とコンボボックスをリンクさせ、セルB1にVLOOKUP(A1,一覧,2)で一覧から名前を抽出しました。コンボボックスのChangeイベントでB1の内容をテキストボックスへ送っているのですが、カーソルを別の項目へ移動するまではテキストボックスの内容が更新されません。
コンボボックスのリストを選択した時点でテキストボックスを更新する方法はないでしょうか?

Aベストアンサー

こんばんは。

今は、Form というのは、UserForm のことだと思います。Excelには、フォームツールもありますが、レガシーツールですから、割愛します。

>セルA1とコンボボックスをリンクさせ、セルB1にVLOOKUP(A1,一覧,2)で一覧から名前を抽出しました。
UserForm で、なぜ、ComboBox で、A1 にリンクさせるのでしょうか?
リンクというのは、ControlSource のことだと思います。それでは、出来ませんね。
Change イベントに組み込まないといけません。そのような方法をしなくても可能です。

'-------------------------------------------
たとえば、ワークシートのセルに社員コードと社員名を入れたもの書かれてあるとします。
次に、ComboBox のプロバティの「RowSource」に少なくとも、2列を登録します。

なお、ComboBoxは、2列も入れることが可能です。
ColumnCount | 2 ,ColumnWidth | 20 pt; 20 pt (pt は省略可)のようにすることが可能です。

そうして、以下のようにすれば、テキストボックスに出てくるはずです。

 .ListIndex + 1 と+1しているのは、初期値が -1 で、最初が、0 からだからです。

'-------------------------------------------
Private Sub ComboBox1_Change()
Dim ret As Variant
  With ComboBox1
  ret = Application.VLookup(.ListIndex + 1, ActiveSheet.Range(.RowSource), 2)
  If Not IsError(ret) Then
   TextBox1.Value = ret
  End If
  End With
End Sub
'-------------------------------------------
ActiveSheet よりも、Worksheets(____) と入れたほうがよいです。

こんばんは。

今は、Form というのは、UserForm のことだと思います。Excelには、フォームツールもありますが、レガシーツールですから、割愛します。

>セルA1とコンボボックスをリンクさせ、セルB1にVLOOKUP(A1,一覧,2)で一覧から名前を抽出しました。
UserForm で、なぜ、ComboBox で、A1 にリンクさせるのでしょうか?
リンクというのは、ControlSource のことだと思います。それでは、出来ませんね。
Change イベントに組み込まないといけません。そのような方法をしなくても可能です。

'--------...続きを読む

QAccessのテキストボックスとコンボボックスの違い

フォームにテキストボックスを3ケ用意し、テキストボックス名をtxt1,txt2,txt3としました。これにコマンドスイッチを作成し、機能を再クエリと設定しました。
フォームのサブフォームに再クエリの結果を表示するようにしました。
クエリのテキストボックス1の抽出条件は
条件  [Forms]![フォーム名]![txt1]
または [Forms]![フォーム名]![txt1] Is Null
   [Forms]![フォーム名]![txt1] Is Null
テキストボックス2の抽出条件は
条件  [Forms]![フォーム名]![txt2] Is Null
または [Forms]![フォーム名]![txt2] 
[Forms]![フォーム名]![txt2] Is Null
テキストボックス3の抽出条件は
条件  [Forms]![フォーム名]![txt3] Is Null
または [Forms]![フォーム名]![txt3] Is Null
[Forms]![フォーム名]![txt3]
と設定し、テキストボックスにデータを入力し実行すると
正しい結果が得られるのですが、テキストボックスをコンボボックスに変更し、コンボボックス名をtxt1,txt2,txt3
とすると、抽出されません。
コンボボックスをテキストボックスのように扱うのには
どうするのでしょうか。教えてください。

フォームにテキストボックスを3ケ用意し、テキストボックス名をtxt1,txt2,txt3としました。これにコマンドスイッチを作成し、機能を再クエリと設定しました。
フォームのサブフォームに再クエリの結果を表示するようにしました。
クエリのテキストボックス1の抽出条件は
条件  [Forms]![フォーム名]![txt1]
または [Forms]![フォーム名]![txt1] Is Null
   [Forms]![フォーム名]![txt1] Is Null
テキストボックス2の抽出条件は
条件  [Forms]![フォーム名]![txt2] Is Null
または [Forms...続きを読む

Aベストアンサー

>コンボボックスをテキストボックスのように扱うのには
>どうするのでしょうか。教えてください。
クエリなどでの扱い自体は、コンボボックスもテキストボックスも同じです。

コンボボックスの表示内容と保存される内容が違うのでは?
コンボボックスの場合、連結列で指定された列の内容が実際の値です。
表示された内容は連結列とは異なる列の可能性が高いです。

コンボボックスのプロパティでデータの値集合ソースと連結列の内容を確認してください。

QACCESSのチェックボックスとコンボボックスの作り方

1.
テーブルを作って、そのテーブルからフォームを作るところまでいきました。フォームから入力する時に、いちいちタイプしなくていいようにチェックできるもの(例えば、男女からどちらか選ぶ)をつくりたいのですが、テーブルビューのルックアップから2つチェックボックスを作ることができません。やり方を教えてください。

2.
コンボボックスを使って複数から選ぶようにすることはできたのですが、毎回マウスを使わないとできません。マウスを使わないでコンボボックスのアイテムを選ぶようにすることはできますか?

Aベストアンサー

はじめまして。

1)について
テーブルの1項目に、一個のチェックボックスしか配置できません。よって、男性用の項目と、女性用の項目と2つ用意すればできるはずです。そのかわり入力チェックで片方にしかチェックが入らないようにする必要性があります。

2)について
「ALT+↓」キーで表示できます。後は「↓」と「↑」を使って選択し、リターンキーで確定です。

Qテキストボックスかコンボボックスを条件としたい

フォーム上のコントロールを取得する時に、
「テキストボックスかコンボボックスなら」としたいのですが、VBAコードがわかりません。

************************************************************
Sub Sample()
Dim myCtrl As Control
Dim myForm As String

myForm = "フォーム1"

For Each myCtrl In Forms(myForm).Controls
If myCtrlのタイプがテキストボックス Or コンボボックス Then
Debug.Print myCtrl.Name
End If
Next

End Sub
************************************************************

に修正していただけますか?

ControlType プロパティを使うと思うのですが、使い方がわかりません。
ご回答よろしくお願いします。

フォーム上のコントロールを取得する時に、
「テキストボックスかコンボボックスなら」としたいのですが、VBAコードがわかりません。

************************************************************
Sub Sample()
Dim myCtrl As Control
Dim myForm As String

myForm = "フォーム1"

For Each myCtrl In Forms(myForm).Controls
If myCtrlのタイプがテキストボックス Or コンボボックス Then
Debug.Print myCtrl.Name
End If
Next

End Sub
**********************...続きを読む

Aベストアンサー

この辺をよく読んでみて
http://oshiete.goo.ne.jp/qa/7685952.html
考える。


このカテゴリの人気Q&Aランキング

おすすめ情報