返回列表 上一主題 發帖

抓取篩選條件的值匯入listbox

本帖最後由 s3526369 於 2021-7-7 16:46 編輯

回復 1# wang077
  1. Set D = CreateObject("Scripting.Dictionary")
  2. With Sheets("Sheet1")
  3.         .Activate
  4.    For Each a In .Range(.[a2], .[a2].End(xlDown))
  5.    D(a.Value) = ""
  6.    Next
  7. End With
  8. ComboBox1.List = D.keys
複製代碼
我這個是用下式選單
你可以寄檔案給我幫你看
s6369954709@yahoo.com.tw

TOP

本帖最後由 s3526369 於 2021-7-8 08:20 編輯

回復 3# wang077
  1.     Dim crr
  2.     Dim i As Long
  3. Set D = CreateObject("Scripting.Dictionary")
  4. With Sheets("Sheet1")
  5.         .Activate
  6.    For Each a In .Range(.[a2], .[a2].End(xlDown))
  7.    D(a.Value) = ""
  8.    Next
  9. End With
  10. crr = D.keys  
  11. '================================================================排序
  12. For i = 0 To UBound(crr) - 1
  13.      k = i
  14.        For j = i + 1 To UBound(crr)
  15.            If crr(k) > crr(j) Then k = j '升序排列用">",降序排列用"<"
  16.        Next
  17.        If k > i Then
  18.           X = crr(i)
  19.           crr(i) = crr(k)
  20.           crr(k) = X
  21.        End If
  22. Next
  23.             
  24. ComboBox1.List = crr
複製代碼

TOP

回復 5# wang077
不用客氣有什麼問題可以再問

TOP

本帖最後由 s3526369 於 2021-7-9 08:17 編輯

回復 7# wang077 Dim crr
    Dim i As Long
Set D = CreateObject("Scripting.Dictionary")
With Sheets("Sheet1")
        .Activate
   For Each a In .Range("A2", .[a2].End(xlDown))  '把[a2]改成[a1000]或者是[a2000] 格數可以自行設定
   D(a.Value) = ""
   Next
End With
crr = D.keys  
'================================================================排序
For i = 0 To UBound(crr) - 1
     k = i
       For j = i + 1 To UBound(crr)
           If crr(k) > crr(j) Then k = j '升序排列用">",降序排列用"<"
       Next
       If k > i Then
          X = crr(i)
          crr(i) = crr(k)
          crr(k) = X
       End If
Next
            
ComboBox1.List = crr

TOP

本帖最後由 s3526369 於 2021-7-9 08:58 編輯

回復 9# wang077
回復 10# wang077
For Each a In .Range("A2", .[a2].End(xlDown)) 'End(xlDown)要改成End(xlUp)

TOP

回復 12# wang077
  1.     Dim crr
  2.     Dim i As Long
  3. Set d = CreateObject("Scripting.Dictionary")
  4. With Sheets("Sheet1")
  5.    For Each A In .Range("F2", .[f5000].End(xlUp))
  6.    d(CDbl(A.Value)) = A.Value
  7.   Next

  8.     For i = 1 To d.Count
  9.     ComboBox1.AddItem d(Application.Small(d.keys, i)) '排序
  10.     Next
複製代碼
你改用這個試看看

TOP

回復 14# wang077
你寄修改檔案給我幫你看

TOP

回復 14# wang077
  1. Private Sub CommandButton2_Click()
  2.     Dim crr
  3.     Dim i As Long
  4. Set d = CreateObject("Scripting.Dictionary")
  5. With Sheets("Sheet1")
  6.    For Each A In .Range("F2", .[f5000].End(xlUp))
  7.    d(CDbl(A.Value)) = A.Value

  8.   Next
  9.     For i = 1 To d.Count
  10.     ComboBox1.AddItem d(Application.Small(d.keys, i)) '排序
  11.     Next
  12. End With

  13. End Sub
複製代碼

TOP

回復 18# wang077
其他欄抓取 就是改
這目前是F欄 For Each A In .Range("F2", .[f5000].End(xlUp))
改成A欄的話就把紅色部分改成A For Each A In .Range("A2", .[a5000].End(xlUp))

TOP

        靜思自在 : 忘功不忘過,忘怨不忘恩。
返回列表 上一主題