回復 3#GBKEE
大大,可不可以再幫我一下,如果我是搜尋第二欄~第五欄的資料,
程式碼要如何修改才能讓新增的資料從第一欄開始寫入LISTBOX中,
For Each E In MYRNG
If InStr(E.Text, CN) Then
'.AddItem E '系統預設為ColumnCount = 1欄 要加入資料如此做就好
LBMODEL.AddItem 'ListBox1新增一列 : .ListCount -> ListBox1的列數
For j = -2 To 3
J1 = (E.Offset(0, j))
For i = 0 To 4 'ColumnCount >1 故須在新增列中每一欄依序加入數字文字
LBMODEL.List(LBMODEL.ListCount - 1, i) = E(J1, i + 1) 'ListBox1的列從0開始
Next
Next
ElseIf Left(E.Text, 4) > CN Then
Exit For
End If
Next
我這樣改寫卻一直出現錯誤,請問問題出在那邊,再麻煩幫我偵錯一下,謝謝!作者: GBKEE 時間: 2011-11-28 17:08
LBMODEL.List(LBMODEL.ListCount - 1, i) = E(J1, i + 1) 'ListBox1的列從0開始
Next
Next
ElseIf Left(E.Text, 4) > CN Then
Exit For
End If
Next
複製代碼
作者: zming0304 時間: 2011-11-29 11:12
回復 6#GBKEE
For S = 1 To Workbooks("MODELNUM.xls").Sheets.Count
Sheets(S).Activate
Range(Cells(1, 1), Cells(65536, 5).End(xlUp)).Select
Selection.Sort Key1:=Range("C1"), Order1:=xlAscending, Header:=xlGuess, _
OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom, SortMethod _
:=xlStroke, DataOption1:=xlSortNormal
Sheets(S).Range(Cells(1, 1), Cells(1, 5)).Select
CN = TBCHNM.Text
Set CN1 = Cells.Find(CN, LOOKAT:=xlPart, SearchOrder:=xlByColumns, SearchDirection:=xlNext)
If Not CN1 Is Nothing Then
'G = 1
LBMODEL.ColumnCount = ActiveSheet.Columns.Count
LBMODEL.ColumnWidths = "2cm;3.5cm;5cm;6.5cm;5cm"
LBMODEL.Font.Size = 10
LBMODEL.List = Range("A1:E1").Value
Set MYRNG = Range(CN1, Range("C65536").End(xlUp))
For Each E In MYRNG
If InStr(E.Text, CN) Then
'.AddItem E '系統預設為ColumnCount = 1欄 要加入資料如此做就好
LBMODEL.AddItem 'ListBox1新增一列 : .ListCount -> ListBox1的列數
For J = -2 To 3
' LBMODEL.AddItem
For i = 0 To 4 'ColumnCount >1 故須在新增列中每一欄依序加入數字文字
'LBMODEL.AddItem
J1 = (E.Offset(0, J))
LBMODEL.List(LT - 1, i) = J1 'ListBox1的列從0開始
J = J + 1
Next
Next
ElseIf Left(E.Text, Len(CN)) <> CN Then
Exit For
End If
Next
'ElseIf CN1 Is Nothing And G = 0 Then
' MsgBox "查無此料號"
End If
Next
大大我把部分改寫成紅色部分就可以了,但又出現另外一個問題,就是我的資料表至少有三個,但我目前這樣寫,
程式跑出來的結果LISTBOX只保留最一個資料表搜尋到的結果,前二個資料表找到的結果統統被覆蓋了,這要如何修正呢?
再麻煩你教我一下,謝謝!作者: GBKEE 時間: 2011-11-29 11:37