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

解決


さとう  2002-11-20 05:16:10  No: 76405

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


oku  URL  2002-11-20 05:55:44  No: 76406

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


さとう  2002-11-20 20:13:40  No: 76407

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


さとう  2002-11-20 20:51:54  No: 76408

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


oku  URL  2002-11-21 11:20:07  No: 76409

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

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 23:01:27  No: 76410

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

少しかえてみて、
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さんのそのままですけど。
ありがとうございました。


※返信する前に利用規約をご確認ください。

※Google reCAPTCHA認証からCloudflare Turnstile認証へ変更しました。






  このエントリーをはてなブックマークに追加