Excel VBA質問箱 IV

当質問箱は、有志のボランティア精神のおかげで成り立っています。
問題が解決したら、必ずお礼をしましょうね。
本サイトの基本方針をまとめました。こちら をご一読ください。

投稿種別の選択が必要です。ご注意ください。
迷惑投稿防止のため、URLの入力を制限しています。ご了承ください。


20384 / 76736 ←次へ | 前へ→

【61773】Re:LISTBOX代入
発言  つん  - 09/6/3(水) 11:32 -

引用なし
パスワード
   ▼LIO さん
こんにちは

もっと効率がいいやり方があるかと思いますが、
とりあえず、作ってみたら出来たので(みたい・・・)
というレベルなんですが、よかったらお試し下さいませ。

'==============================================
Private Sub UserForm_Initialize()
  
  Dim i As Long

  With ComboBox1
    For i = 1 To 3 ’とりあえずA列の値が「3」までとして
      .AddItem i
    Next i
    .Style = fmStyleDropDownList
  End With
  
  
  With ListBox1
    .ColumnCount = 3
    .ColumnWidths = "30,60,60"
  End With

End Sub


'==============================================
Private Sub ComboBox1_Change()

  Dim lngNO As Long
  Dim i As Long
  Dim ws As Worksheet
  Dim ArData()
  Dim k As Long
  
  With Worksheets("Sheet1")
  
    lngNO = ComboBox1.Value
    k = 0
    For i = 1 To Range("a65536").End(xlUp).Row
      If Cells(i, 1).Value = lngNO Then
      ReDim Preserve ArData(3, k)
        ArData(0, k) = Cells(i, 1).Value
        ArData(1, k) = Cells(i, 2).Value
        ArData(2, k) = Cells(i, 3).Value
        k = k + 1
      End If      
    Next i
  End With

  ListBox1.Column() = ArData
   
  Erase ArData
End Sub

'==============================================

配列の扱い、こんなんでいいのかな・・・・

と、ここまでかいて気がついた
>また実際のシート1には1000行20列程のデータが記載されております
そんなデータ量だったら、こんなやり方はダメなんかなあ・・・・

0 hits

【61768】LISTBOX代入 LIO 09/6/3(水) 7:46 発言
【61773】Re:LISTBOX代入 つん 09/6/3(水) 11:32 発言
【61774】Re:LISTBOX代入 つん 09/6/3(水) 11:37 発言
【61777】Re:LISTBOX代入 Yuki 09/6/3(水) 13:22 発言

20384 / 76736 ←次へ | 前へ→
ページ:  ┃  記事番号:
2610219
(SS)C-BOARD v3.8 is Free