EXCELVBAで、リストボックスから入力した値を指定のセルにはき出すには?

解決


さとう  2002-11-19 20:16:10  No: 76405  IP: [192.*.*.*]

あるテキストファイルを、リストボックスに表示させ、その中から選択した
値を、指定のセルへ書き出したいのですが、どうすればよいのでしょうか?
リストボックスへ表示させ、選択するところまではうまく出来たのですが・・・

編集 削除
oku  URL  2002-11-19 20:55:44  No: 76406  IP: [192.*.*.*]

> その中から選択した値を
選択した行ですよね。
それなら、
    Range("A1") = ListBox1.Text
でOK?

編集 削除
さとう  2002-11-20 11:13:40  No: 76407  IP: [192.*.*.*]

okuさんありがとうございます。
リストボックスをマルチセレクトにした場合だと、また違うのでしょうか?
シングルセレクトだと出来るんですけど、マルチセレクトにすると
うまく出来ないのです。

編集 削除
さとう  2002-11-20 11:51:54  No: 76408  IP: [192.*.*.*]

もしくは、リストボックス内の全てのデータを指定のセルへ表示させる事は
出来ますか?
出来れば、1行ごとにA1、B1、C1・・・という様にしたいのですが。
よろしくお願いします。

編集 削除
oku  URL  2002-11-21 02:20:07  No: 76409  IP: [192.*.*.*]

確かリストボックス中身を全部調べるしか術がなかったと思います。
こんな感じで!

Private Sub CommandButton1_Click()
    Dim intIndex    As Integer

    Range("A1").Select
    For intIndex = 0 To ListBox1.ListCount - 1
        '選択されているリストを調べる
        If ListBox1.Selected(intIndex) = True Then
            '選択されている内容をアクティブセルに
            ActiveCell = ListBox1.List(intIndex)
            'アクティブセルを1個右に移動
            ActiveCell.Offset(0, 1).Select
        End If
    Next intIndex
End Sub

これで良いですか?

編集 削除
さとう  2002-11-21 14:01:27  No: 76410  IP: [192.*.*.*]

ありがとうございます。
おかげさまで解決出来ました。

少しかえてみて、
Private Sub CommandButton7_Click()

cell = 14
'ワークシート(sheet3)の14行目から開始

For sel = 0 To ListBox1.ListCount - 3
'リストボックスの0行から最終行(最終2行除く)まで反復処理
  If ListBox1.Selected(sel) Then 
   Worksheets("sheet3").Activate
   Worksheets("sheet3").Cells(cell, 5).Value = ListBox1.List(sel,0)
   '一行づつ入力
      cell = cell + 1
 'ワークシート(sheet3)への格納順をカウントアップ

    End If

Next
End Sub

という感じになりました。
ほとんどokuさんのそのままですけど。
ありがとうございました。

編集 削除