- 締切済み
EXCEL2000 リストボックスの返り値について
はじめまして。 EXCEL2000で、ワークシート上にリストボックスを作成しました。 複数選択できるタイプなのですが、選択した内容の判断はどのように行えばよいのでしょうか。 例えば、セルA1:A5に「あ」「い」「う」「え」「お」と入力されており、これがリストボックスの内容としてリンクされています。 リストボックスから選択すると、選択した文字に対応してセルB1:B5に「1(選択)」「0(未選択)」と数字のみ入るようにしたいのですが… ワークシート上、あるいはVBAでできる方法がありましたらご教授お願いいたします。 ちなみにVBAは初心者です。
- みんなの回答 (3)
- 専門家の回答
みんなの回答
- Wendy02
- ベストアンサー率57% (3570/6232)
こんばんは。割り込ませていただきます。 >デザインモードで編集するやり方をお教え下さい。 ワークシートのメニューの表示-ツールバー-コントロールツールをクリック (または、メニューバーの何もないところで右クリックすると、ツールバーの一覧が出てきますので、そこから選択も可能です。) コントロール・ツールバーを表示したら、 その時に、青い三角定規のアイコンがオンになっていれば、デザインモードです。 そして、リストボックスを探し、ドラッグして、ワークシート上の適当な場所に貼り付けたら、 右クリック-プロパティ 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)
コントロールツールボックスのリストボックスの場合、こんな感じで如何でしょうか。 デザインモードで、そのリストボックスをダブルクリックして表示されたコードウィンドウに 下記のコードを貼り付けます。(コントロールの名前が 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
- nanndemoii
- ベストアンサー率39% (106/267)
こんにちは。 B1に以下の数式をいれ、B2~B5にコピペではいかがでしょう? =IF(COUNTIF(対象範囲を絶対参照で指定,A1)>=1,1,0)
補足
ありがとうございます。 すいません。質問が悪かったようです。 あくまでリストボックスで選択した文字を対象にしたいのです。 上記方法だと、リストボックスに関係なく全て1が付いてしまいます。 例えばリストボックスで「あ」「う」「え」と選択した場合、セルB1,B3,B4に1を、セルB2,B5には0が入るようにしたいのです。 ※リストボックスはユーザーフォーム上ではありません。ワークシート上にあります。
補足
ご回答ありがとうございます。 つまり、リストボックスはユーザーフォーム上でなければ使えないのでしょうか? もしくは、ワークシート上のリストボックスをデザインモードで編集するやり方をお教え下さい。 (リストボックスはワークシート上にあります) 初心者なので、要領を得ずすいません…