• 締切済み

EXCEL2000 リストボックスの返り値について

はじめまして。 EXCEL2000で、ワークシート上にリストボックスを作成しました。 複数選択できるタイプなのですが、選択した内容の判断はどのように行えばよいのでしょうか。 例えば、セルA1:A5に「あ」「い」「う」「え」「お」と入力されており、これがリストボックスの内容としてリンクされています。 リストボックスから選択すると、選択した文字に対応してセルB1:B5に「1(選択)」「0(未選択)」と数字のみ入るようにしたいのですが… ワークシート上、あるいはVBAでできる方法がありましたらご教授お願いいたします。 ちなみにVBAは初心者です。

みんなの回答

  • Wendy02
  • ベストアンサー率57% (3570/6232)
回答No.3

こんばんは。割り込ませていただきます。 >デザインモードで編集するやり方をお教え下さい。 ワークシートのメニューの表示-ツールバー-コントロールツールをクリック (または、メニューバーの何もないところで右クリックすると、ツールバーの一覧が出てきますので、そこから選択も可能です。) コントロール・ツールバーを表示したら、 その時に、青い三角定規のアイコンがオンになっていれば、デザインモードです。 そして、リストボックスを探し、ドラッグして、ワークシート上の適当な場所に貼り付けたら、 右クリック-プロパティ  ListFillRange で、A1:A5 と入れます。   複数選択できるタイプでしたら、 MultiSelect  1-fmMultiSelectMulti を選択。 そして、プロパティを閉じます。 まだ、リストボックスが選択状態になっているのを確認して、ダブルクリックで、Visual Basic Editor 画面に切り替わるのを待ちます。 そして、現れた画面に、マクロを貼り付けます。 #2さんのなら、その中身だけを入れます。(以下と同じ内容です) 別のマクロですと、これを全体を貼り付けて 最初に出来た、Private Sub ListBox1_Change() ~End Sub を削除しておきます。 Private Sub ListBox1_MouseUp(ByVal Button As Integer, ByVal Shift As Integer, ByVal X As Single, ByVal Y As Single) Dim i As Integer For i = 0 To ListBox1.ListCount - 1  Cells(i + 1, 2).Value = Abs(CInt(ListBox1.Selected(i))) Next i End Sub これを貼り付けたら、Alt+ Q で、画面を閉じて、 ワークシート上のコントロールツールバーの中の、「青い三角定規のアイコン」をオフにして、デザインモードを終了し、次に、コントロールツールバー自体を消せば終了です。

  • ja7awu
  • ベストアンサー率62% (292/464)
回答No.2

コントロールツールボックスのリストボックスの場合、こんな感じで如何でしょうか。 デザインモードで、そのリストボックスをダブルクリックして表示されたコードウィンドウに 下記のコードを貼り付けます。(コントロールの名前が ListBox1 の場合です。) Private Sub ListBox1_Change() Dim N As Integer With ListBox1 For N = 0 To .ListCount - 1   If .Selected(N) = True Then     Cells(N + 1, 2).Value = 1   Else     Cells(N + 1, 2).Value = 0   End If Next End With End Sub  

harusan731
質問者

補足

ご回答ありがとうございます。 つまり、リストボックスはユーザーフォーム上でなければ使えないのでしょうか? もしくは、ワークシート上のリストボックスをデザインモードで編集するやり方をお教え下さい。 (リストボックスはワークシート上にあります) 初心者なので、要領を得ずすいません…

回答No.1

こんにちは。 B1に以下の数式をいれ、B2~B5にコピペではいかがでしょう? =IF(COUNTIF(対象範囲を絶対参照で指定,A1)>=1,1,0)

harusan731
質問者

補足

ありがとうございます。 すいません。質問が悪かったようです。 あくまでリストボックスで選択した文字を対象にしたいのです。 上記方法だと、リストボックスに関係なく全て1が付いてしまいます。 例えばリストボックスで「あ」「う」「え」と選択した場合、セルB1,B3,B4に1を、セルB2,B5には0が入るようにしたいのです。 ※リストボックスはユーザーフォーム上ではありません。ワークシート上にあります。

関連するQ&A

  • 【Excel】リストの切り替えについて

    Excel(2010)を使っています。 http://www4.synapse.ne.jp/yone/excel2010/excel2010_nyukisoku3.html ↑のサイトに、特定のセルの内容によって他のセルのリスト内容が切り替えられるやり方が書いてあるのですが、切り替えるセルをを増やすことは可能でしょうか? 例えば、「A1」に『英語』と入力した際に、「A3」のリストでは『A』、『B』、『C』から選択でき 「A4」のリストでは『D』、『E』、『F』から、「A5」では『G』、『H』、『I』から選択できる。 次に「A1」に『数字』と入力した時は「A3」には『1』、『2』、『3』から「A4」では『4』、『5』、『6』から、「A5」では『7』、『8』、『9』から選択できる・・・と言った具合に複数セルの内容を変更できるようにしたいのです。 よく、マクロ(VBA)等と書かれていますが、その手の知識は全くありませんし、会社のパソコンでやりたいのでできればそれ以外のやり方でお願いします。 また、最初に入力する「A1]の部分もリストに出来たりするのでしょうか? あまり詳しくないので、よろしくご教授お願いします。

  • リストボックスについて

    VBA初心者です。 VBAで以下の処理に大変困っております。 <処理内容> 1.リストボックスにある値を選択して、OKボタンを押す。 2.「1.」で選択した値をセルA1に出力。 3.「1.」で選択する値が複数ある場合は、セルA1の値は コンマをつけて出力。 <例1> ----------------------- <リストボックス1> みかん りんご トマト aaa01 ----------------------- ・選択が一つの場合 「みかん」を選択して場合、OKボタンを押す。 セルA1への出力内容 みかん ・選択が複数の場合 「みかん」、「トマト」、「aaa01」を選択して、OKボタンを押す。 セルA1への出力内容 みかん、トマト、aaa01 ※ユーザフォームの処理です。 まったくわかりません。 明日中に仕上げなければいけないため大変困っております。 どなたか御教授をお願い致します。 宜しくお願い致します。

  • 複数のリストボックスからリンク

    ホームページで複数のリストボックスから内容を選択して、指定したページへ移動させようと思っているのですが、方法がわかりません。 例えば、 ・1つ目のリストボックス・・・A ・2つ目のリストボックス・・・B を選ぶと "/a/b/" にリンクする、というようにしたいと思っています。 わかる方は、ぜひ教えてください!

  • EXCEL リストボックスについて

    現在、エクセルであることをしようとしているのですが、どうやってやったらいいのかわからないので、ぜひ教えてください。 それと出来るかどうかも教えてください。 内容といたしましては、エクセルのシートの中にあるセルを選んだときにリストボックスを表示して、そのリストボックスにある内容を選んで確定するとその選んだ文字が入るようにしているのですが、入力規則からのリストボックスだとシート自体を小さくすると中の文字が見えなくなり、選びづらくなります。 そこで、コンボボックスで同じことをすると、文字のサイズが大きくなるのですが、印刷時に下向きの矢印も一緒に表示されてしまいます。 そこで、別の視点から考えて、セルを選んだ時にリストボックスみたいなユーザフォームをだし、そこで選んだ文字を選んだセルに表示すれば、印刷時に表示もしないし見た目も良くなると思うのですが、出来そうですか? 出来るのであれば、ぜひ教えてください。 出来れば、VBかVBAで出来るのか、教えてください。

  • マクロについて

    エクセルのワークシート上に配置したリストボックスでは、選択されたデータが上から何番目であるかが、「リンクするセル」に設定したセルに入力されます。しかし、、「リンクされたセル」に数字が入力されるのは、「コントロールの書式設定」ダイアログボックスで「単一選択」を選んだときだけ。「複数選択」と「拡張選択」を選んだ場合、リストボックスで選択されたデータを返す方法を教えてください。

  • EXCELリストボックスの複数値の取得

    EXCELのリストボックスの複数選択又は拡張選択の値の取得方法がわかりません。 下図は単一選択で行った場合です。 この時、複数選択又は拡張選択を選んだ場合の「リンクするセル」の設定がわかりません。 VBAを使用しない方法で値を取得したいのです。 わかる方、教えて下さい。

  • Excelチェックボックスのリンクするセル一括

    Excelでチェックボックスのリンクするセルを一括設定したいです。 sheet1に複数のチェックボックスを作成し、それぞれのリンクするセルをsheet2に入れたいのですが、チェックボックスが数10個あるので、1つづつやっていると手間がかかります。 例 sheet1のB2のリンクするセルをsheet2のB2 sheet1のB3のリンクするセルをsheet2のB3 sheet1のB4はsheet2のB4 … 一括でやる方法(多分VBA)はわかりますか。

  • エクセルVBAのリストボックス

    エクセルVBAのリストボックスを使った検索システムを作っています。 リストボックスはユーザーフォームではなくsheetに貼り付けてます。 リスト地域 北海道 青 森 岩 手 山 形 新 潟  ・  ・  ・ リストボックスから地域(複数選択)を選んで検索ボタン(コマンドボタン)を押すと同じsheetの特定の場所(例えばrange("A25")に選択した地域を表示させたいのですがうまくいきません。 例) 北海道、東京、愛知 のように表示させたいです。 単数選択ではうまく表示できるのですが、複数だとうまくいきません。 (複数選択できるようにプロパティのMultiSelectの項目はfmMultiselectMultiに変更しています。) よろしくお願いします。

  • エクセルのリストボックスの複数選択について

    エクセルのワークシート上に配置するリストボックスで複数選択する場合に値(番号)を返す方法を教えてください。よろしくお願いします。

  • リスト選択したものをワークシートに自動表示させるには?

    エクセル2007を使用しています。 コンボボックス?のリストから選択したものを、別のワークシート内の コンボボックスに自動的に表示させるにはどうすればよいのでしょうか? つまり、ワークシート1のリスト(A,B,C)から「A」を選択すると、 ワークシート3のリスト(A,B,C)も自動的に「A」が表示されるように したいのです。 用語が間違っているかもしれませんが、よろしくお願いします。

専門家に質問してみよう