過去ログ

                                Page     574
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
   通常モードに戻る  ┃  INDEX  ┃  ≪前へ  │  次へ≫   
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
 ▼リストボックスの使い方を教えてください  MIC 03/1/21(火) 11:43
   ┗Re:リストボックスの使い方を教えてくださ...  ポンタ 03/1/21(火) 13:21
      ┗ありがとうございます。  MIC 03/1/21(火) 15:57

 ───────────────────────────────────────
 ■題名 : リストボックスの使い方を教えてください
 ■名前 : MIC
 ■日付 : 03/1/21(火) 11:43
 -------------------------------------------------------------------------
   コンボボックスで選んだグループのリストをリストボックス1に表示させ、リストボックス2にリストボックスの1の選択したものを移したいのですが、SHIFTキーを使ってまとめて選択する方法がわかりません。分かる方よろしくお願い致します。また、リストボックス2に選んだ項目を別のワークシートにリストさせたいのですがどうすればいいのか分かりません。できれば、選んだ項目の値が格納されているセルのアドレスをGETする方法があれば教えてください。よろしくお願い致します。
 ───────────────────────────────────────  ■題名 : Re:リストボックスの使い方を教えてくださ...  ■名前 : ポンタ  ■日付 : 03/1/21(火) 13:21  -------------------------------------------------------------------------
   サンプルコードでです。

セルのアドレスを取得したいのか、
選択されている項目を取得したいのか分かりませんが、
以下のコードで取得できると思います。

UserFormにListBox1とCommandButton1を貼り付けて、
ListBox1の、
 RowSourceプロパティにセル範囲、
 MultiSelectプロパティにfmMultiSelectMulti (複数選択可能になります)
を設定してから、お試しください。


Private Sub CommandButton1_Click()
  Dim i As Integer
  Dim MyRange As Range
  Dim Mes1 As String, Mes2 As String
  Me.Hide
  Mes1 = "選択された項目は" & vbCr
  Mes2 = "アドレスは" & vbCr
  Set MyRange = Range(ListBox1.RowSource).Resize(1, 1)
  For i = 0 To ListBox1.ListCount - 1
    If ListBox1.Selected(i) Then
      Mes1 = Mes1 & ListBox1.List(i) & vbCr
    Mes2 = Mes2 & MyRange.Offset(i, 0).Address(0, 0) & vbCr
    End If
  Next
  Mes1 = Mes1 & "です"
  MsgBox (Mes1)
  Mes2 = Mes2 & "です"
  MsgBox (Mes2)
End Sub
 ───────────────────────────────────────  ■題名 : ありがとうございます。  ■名前 : MIC  ■日付 : 03/1/21(火) 15:57  -------------------------------------------------------------------------
   ありがとうございました。
とても参考になりました。
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━    通常モードに戻る  ┃  INDEX  ┃  ≪前へ  │  次へ≫    ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━                                 Page 574