導航:首頁 > 凈水問答 > vba復合過濾

vba復合過濾

發布時間:2021-03-18 20:02:07

Ⅰ VBA復合框,下拉項。要求輸入框輸入字元串時模糊匹配下拉項字元串並去,除所有不包含輸入字元串的下拉

Dim arr
Private Sub ComboBox1_Change()
ComboBox1.DropDown
a = ComboBox1.Text
For i = ComboBox1.ListCount - 1 To 0 Step -1
If InStr(ComboBox1.List(i), a) = 0 Then
ComboBox1.RemoveItem (i)
End If
Next
If a = "" Then
ComboBox1.Visible = False
ComboBox1.Visible = True
ComboBox1.SetFocus
ComboBox1.DropDown
ComboBox1.Clear
For i = 0 To UBound(arr)
ComboBox1.AddItem arr(i)
Next
End If
End Sub
Private Sub UserForm_Initialize()
arr = Array("abc", "bnb", "hui", "ooo", "pio", "rta", "err", "qwe", "qqq", "wwe")
For i = 0 To UBound(arr)
ComboBox1.AddItem (arr(i))
Next
End Sub

Ⅱ vba 裡面怎麼過濾數組裡面的重復值。

用字典的方法參考代碼
SubPushAndPop()
OnErrorGoToErr_Lab
DimCL AsRange
DimKey AsVariant
DimRow AsLong
Row = 3
Sheets("Sheet3").Range("B3:C65535").ClearContents
SetKey = CreateObject("Scripting.Dictionary")
ForEachCL InSheets("Sheet2").Range("B3:B65535")
IfCL.Value = ""ThenExitFor
IfNotKey.Exists(CL.Value) Then
Key.Add CL.Value, CStr(CL.Value)
Sheets("Sheet3").Cells(Row, 2).Value = CL.Value
'......
DoEvents
Row = Row + 1
EndIf
Next
SetKey = Nothing

ExitSub
Err_Lab:
MsgBox Err.Number
EndSub

Ⅲ VBA中清除文本框和復合框中的內容

TypeName(rng) 注意大小寫 TextBox

Ⅳ 如何用VBA過濾多列重復數據

Sub 去重方法二()

Dim d As Object, bR, arr

t = Timer
Application.ScreenUpdating = False: Application.Calculation = xlCalculationManual

zw = [XFD1].End(xlToLeft).Column ' 自動識別最後一列。從右往左,找出第一個非空單元格,取它列號。
sm = 8 '第8列,即H列,也即運單編號所在列,根據此欄位來判斷是否有重復項。8這個數字不用改。

Set c1 = Cells(1000000, sm).End(xlUp)
qq = c1.Row

bR = [A2].Resize(qq - 1, zw) '把數據區域 裝入bR數組
Set d = CreateObject("scripting.dictionary")
n = 0
ReDim arr(1 To c1.Row, 1 To zw) '定義arr數組長,寬
For i = 2 To qq
If Not d.exists(bR(i - 1, sm)) Then
d.Add bR(i - 1, sm), "" '【核心】循環 運單編號 欄位,把此欄位唯一值循環裝入字典d
n = n + 1
For j = 1 To zw
arr(n, j) = bR(i - 1, j) '同時,再把它其他信息裝入arr數組
Next
End If
Next
Range(Cells(2, "A"), Cells(1000000, zw)).ClearContents
[A2].Resize(n, zw) = arr
Set d = Nothing: Erase bR: Erase arr

Application.ScreenUpdating = True: Application.Calculation = xlCalculationAutomatic
MsgBox "搞定!耗時 " & Round(Timer - t, 0) & " 秒!已刪除 " & qq - Cells(1000000, sm).End(xlUp).Row & " 個重復項!"

End Sub

Ⅳ VBA復合框去除多餘項

PrivateSubUserForm_Initialize()
Dimi,j,m,clc,FlagAsSingle
Fori=1To10
ComboBox1.AddItemApplication.WorksheetFunction.RandBetween(1,10)
Next
Flag=1
clc=ComboBox1.ListCount
DoWhileFlag<=clc

1:
Fori=2ToComboBox1.ListCount
Forj=1Toi-1

IfComboBox1.List(j-1)=ComboBox1.List(i-1)Then
ComboBox1.RemoveItem(i-1)
Flag=Flag+1
GoTo1
EndIf

Next
Next

Flag=Flag+1
Loop

EndSub

Ⅵ excel 怎麼通過vba過濾出一行的重復的數據

^

度友,你好,如圖,公式:=MID(SUM(MID(A1&1/17,SMALL(FIND(ROW($1:$10)-1,A1&1/17),ROW($1:$10)),1)/10^ROW($1:$10)),3,COUNT(FIND(ROW($1:$10)-1,A1)))

如果是2016版本的,支持TEXTJOIN的話,公式:=TEXTJOIN("",1,IF(ISNUMBER(FIND(ROW($1:$10)-1,A1)),ROW($1:$10)-1,""))

數組公式,需要shift+ctrl+enter三鍵結束

Ⅶ excel vba怎麼篩選和過濾數據

錄制一段宏,看代碼不就行了。只要界面上能操作的,不知道VBA怎麼寫都可以錄制宏,然後復制到自己的VBA代碼里修改一下即可。

Ⅷ 請問VBA中,多個條件篩選如何實現

是否可以使用autofilter方法,並用field屬性添加各個篩選條件即可。
語法:
expression.AutoFilter(Field, Criteria1, Operator, Criteria2, VisibleDropDown)
expression 必需。該表達式返回「應用於」列表中的對象之一。
Field Variant 類型,可選。相對於作為篩選基準欄位(從列表左側開始,最左側的欄位為第一個欄位)的偏移量。
Criteria1 Variant
類型,可選。篩選條件(一個字元串;例如,「101」)。使用「=」可搜索到空欄位,或者使用「<>」可搜索到非空欄位。如果省略該參數,則搜索條件為
All。如果將 Operator 設為 xlTop10Items,Criteria1 則指定數據項個數(例如,「10」)。
Operator XlAutoFilterOperator 類型,可選。
XlAutoFilterOperator 可為以下 lAutoFilterOperator 常量之一。xlAnd 可使用 xlAnd 和 xlOr 將 Criteria1 和 Criteria2 組合成復合篩選條件。

具體使用示例:
Range(數據區域).AutoFilter Field:=數據區域中條件A所在列的序號, Criteria1:=條件A
Range(數據區域).AutoFilter Field:=數據區域中條件B所在列的序號, Criteria1:=條件B
Range(數據區域).AutoFilter Field:=數據區域中條件C所在列的序號, Criteria1:=條件C
Range(數據區域).AutoFilter Field:=數據區域中條件D所在列的序號, Criteria1:=條件D1, _
Operator:=xlOr, Criteria2:=條件D2

Ⅸ Excelvba窗體為什麼我這個復合框代碼篩選附值不能識別,直接輸入又可以求大神解決 Privat

.range().value

Ⅹ VBA 如何篩選一個文件中復合條件的數據更新到另一個文件

Sub Copy_Data()Dim wb As Workbook, rng As Range, sht As WorksheetDim sht_Name, theDatesht_Name = "Sheet1" '假設所有報表文件中的數據都在 Sheet1Set sht = ActiveSheet '保存當前工作表對象fn = Dir(ThisWorkbook.Path & "\報表-*.xls", vbReadOnly) '打開第一個報表文件Do While fn <> "" '開始循環 Set wb = Workbooks.Open(fn) '以只讀模式打開報表文件 '取得報表文件中的日期字元串 theDate = Mid(fn, InStr(fn, "\報表-") + 4, Len(fn) - InStr(fn, "\報表-") - 7) '將報表文件中的數據復制到當前工作表 With wb.Worksheets(sht_孩滬粉疚莠狡瘋挾弗錨Name) .Range(.Range("A2"), .Range("A1").End(xlToRight).End(xlDown)).Copy _ Destination:=sht.Range("A65536").End(xlUp).Offset(1, 1) End With wb.Close (False) '關閉報表文件,不保存 sht.Activate '激活當前工作表 Range(Range("A65536").End(xlUp).Offset(1, 0), Range("B65536").End(xlUp).Offset(0, -1)) = DateValue(Format(theDate, "0000-00-00")) '在A列填充報表文件的日期信息 fn = DirLoop '循環下一個報表文件End Sub

閱讀全文

與vba復合過濾相關的資料

熱點內容
純水樂瓶子多少克 瀏覽:144
眉山哪裡有賣易開得凈水器 瀏覽:786
勞斯德凈水器是什麼 瀏覽:644
濾晶元怎麼使用 瀏覽:356
從錦州回沈陽用隔離嗎 瀏覽:455
雲南mbr污水處理廠 瀏覽:568
做離子束去痘坑效果圖 瀏覽:65
21款寶來空氣濾芯在哪裡 瀏覽:388
凈化器的濾芯怎麼處理 瀏覽:166
醇酸樹脂水性漆 瀏覽:323
一級反滲透什麼意思 瀏覽:291
農家樂廢水農戶灌溉的可行性 瀏覽:970
x40空調濾芯怎麼取出來 瀏覽:565
凈水器裝水桶多少錢 瀏覽:242
超濾管管頂的白線在哪 瀏覽:628
農村自來水交污水處理費什麼意思 瀏覽:804
城市污水回用發展綜述 瀏覽:805
新周污水處理廠提標改造工程中標 瀏覽:413
雙酚a環氧樹脂的制備方法 瀏覽:258
污水處理工作對身體有影響 瀏覽:380