返回列表 上一主題 發帖

[發問] vba中listbox如何新增不連續之多欄資料

回復 1# zming0304
  1. Option Explicit
  2. Sub Ex()
  3.     Dim E, i
  4.     With ListBox1
  5.         .Clear
  6.         .ColumnCount = 5
  7.         .ColumnWidths = "60,60,60,60,60"
  8.         For Each E In Range("a1").CurrentRegion.Columns(1).Cells
  9.             If InStr(E.Text, "139") Then
  10.                 '.AddItem  E        '系統預設為ColumnCount = 1欄 要加入資料如此做就好
  11.                 .AddItem            'ListBox1新增一列 : .ListCount -> ListBox1的列數
  12.                 For i = 0 To 4     'ColumnCount >1 故須在新增列中每一欄依序加入數字文字
  13.                     .List(.ListCount - 1, i) = E(1, i + 1)  'ListBox1的列從0開始
  14.                 Next
  15.             End If
  16.         Next
  17.     End With
  18. End Sub
複製代碼

TOP

本帖最後由 GBKEE 於 2011-11-28 17:27 編輯

回復 5# zming0304
  1. For Each E In MYRNG
  2.             If InStr(E.Text, CN) Then
  3.                 '.AddItem  E        '系統預設為ColumnCount = 1欄 要加入資料如此做就好
  4.               ''****->刪掉  LBMODEL.AddItem            'ListBox1新增一列 : .ListCount -> ListBox1的列數  *****
  5.                 For j = -2 To 3
  6.                          LBMODEL.AddItem            ''依你的用意,  應是在這裡 新增一列
  7.                        J1 = (E.Offset(0, j))
  8.                       For i = 0 To 4   'ColumnCount >1 故須在新增列中每一欄依序加入數字文字
  9.                 LBMODEL.List(LBMODEL.ListCount - 1, i) = E(J1, i + 1) 'ListBox1的列從0開始
  10.                 Next
  11.                 Next
  12.             ElseIf Left(E.Text, 4) > CN Then
  13.                 Exit For
  14.             End If
  15.           Next
複製代碼

TOP

本帖最後由 GBKEE 於 2011-11-29 13:31 編輯

回復 7# zming0304
前二個資料表找到的結果統統被覆蓋了
LBMODEL.ColumnCount = ActiveSheet.Columns.Count  :  2003-> Columns.Count=256
  1. With LBMODEL   '開頭這裡重設LBMODEL的內容
  2.         .ColumnCount = ActiveSheet.Columns.Count
  3.         .ColumnWidths = "2cm;3.5cm;5cm;6.5cm;5cm"
  4.         .Font.Size = 10
  5.         .Clear
  6.     End With
  7.     For S = 1 To Workbooks("MODELNUM.xls").Sheets.Count
  8.         Sheets(S).Activate
  9.         Set CN1 = Cells.Find(CN, LOOKAT:=xlPart, SearchOrder:=xlByColumns, SearchDirection:=xlNext)
  10.         If Not CN1 Is Nothing Then
  11.           '
  12.           'G = 1
  13.           'LBMODEL.ColumnCount = ActiveSheet.Columns.Count
  14.           'LBMODEL.ColumnWidths = "2cm;3.5cm;5cm;6.5cm;5cm"
  15.           'LBMODEL.Font.Size = 10
  16.           'LBMODEL.List = Range("A1:E1").Value   '<- 這裡會重設LBMODEL的內容
  17.          
  18.           '
  19.           '
  20.          
  21.          'ElseIf CN1 Is Nothing And G = 0 Then
  22.             ' MsgBox "查無此料號"
  23.         End If
  24.     Next
  25. Next
複製代碼

TOP

        靜思自在 : 心中常存善解、包容、感思、知足、惜福。
返回列表 上一主題