vba ¨Ì¾Útextbox¤¤©Ò»Ý¤JªºÈ¿z¿ï¥X¬Û¹ïªºµ§¼Æ
- ©«¤l
- 2842
- ¥DÃD
- 10
- ºëµØ
- 0
- ¿n¤À
- 2898
- ÂI¦W
- 0
- §@·~¨t²Î
- ¡e²¤¡f
- ³nÅ骩¥»
- ¡e²¤¡f
- ¾\ŪÅv
- 100
- ©Ê§O
- ¨k
- ¨Ó¦Û
- ¡e²¤¡f
- µù¥U®É¶¡
- 2013-5-13
- ³Ì«áµn¿ý
- 2025-4-28
|
- Sub vbaAFilter()
- Dim j&, Jm&, k&, TX&, Arr, Sht As Worksheet
- TX = TextBox1.Text: If TX = 0 Then Exit Sub
- ¡@
- Arr = Sheets("¤u§@ªí1").UsedRange.Value
- For j = 19 To UBound(Arr)
- ¡@¡@If IsError(Arr(j, 2)) Then GoTo 101
- ¡@¡@If Arr(j, 2) <> "PASS" Then GoTo 101
- ¡@¡@Jm = Jm + 1
- ¡@¡@For k = 1 To UBound(Arr, 2): Arr(Jm + 18, k) = Arr(j, k): Next
- ¡@¡@If Jm = TX Then Exit For
- 101: Next j
- If Jm = 0 Then Exit Sub
- ¡@
- On Error Resume Next: Set Sht = Sheets("PASS¦W³æ"): On Error GoTo 0
- If Sht Is Nothing Then Set Sht = Sheets.Add: Sht.Name = "PASS¦W³æ"
- With Sht
- ¡@¡@.Select: .UsedRange.Clear: .[A1].Resize(Jm + 18, UBound(Arr, 2)) = Arr
- End With
- End Sub
½Æ»s¥N½X |
|
|
|
|
|
|
- ©«¤l
- 2842
- ¥DÃD
- 10
- ºëµØ
- 0
- ¿n¤À
- 2898
- ÂI¦W
- 0
- §@·~¨t²Î
- ¡e²¤¡f
- ³nÅ骩¥»
- ¡e²¤¡f
- ¾\ŪÅv
- 100
- ©Ê§O
- ¨k
- ¨Ó¦Û
- ¡e²¤¡f
- µù¥U®É¶¡
- 2013-5-13
- ³Ì«áµn¿ý
- 2025-4-28
|
¦^´_ 4# t591nm
¤§«e¦³¦ìºô¤Í¬O³o¼Ë°µªº¡G
¢°¡D³v¦æµ{¦¡¥H¦Û¤vªº²z¸Ñ¥[¤Jµù¸Ñ¡AµM«á¦A¾ãÓ¶K¥X¨Ó
¢±¡D¦³ºÃ°Ýªº³¡¥÷¦A´£¥X
³o¼Ë¤~¥i¥H¯u¥¿¾Ç¨ìµ{¦¡ªº¥Î·N¡A
§Ú¤]¤~¯àª¾¹Dn¸É¥Rþ¸Ìªº»¡©ú¡I |
|
|
|
|
|
|
- ©«¤l
- 2842
- ¥DÃD
- 10
- ºëµØ
- 0
- ¿n¤À
- 2898
- ÂI¦W
- 0
- §@·~¨t²Î
- ¡e²¤¡f
- ³nÅ骩¥»
- ¡e²¤¡f
- ¾\ŪÅv
- 100
- ©Ê§O
- ¨k
- ¨Ó¦Û
- ¡e²¤¡f
- µù¥U®É¶¡
- 2013-5-13
- ³Ì«áµn¿ý
- 2025-4-28
|
¥»©«³Ì«á¥Ñ ã´£³¡ªL ©ó 2015-10-21 13:40 ½s¿è
¦^´_ 6# t591nm
UBound(Arr)¡@
¡Ä¬°°}¦Cªº¡e¦C¼Æ¡f¡A¥i¼g¦¨ UBound(Arr , 1)¡FUBound(Arr, 2)¡@«h¬°¡eÄæ¼Æ¡f¡@
Jm = Jm + 1¡@
¡Ä¬°¤w¨ú±o²Å¦X "PASS" ¸ê®Æªº¡e²Öpµ§¼Æ¡f¡@
For k = 1 To UBound(Arr, 2): Arr(Jm + 18, k) = Arr(j, k): Next ¡@
¡Ä¨Ì Arr ªº¡eÄæ¼Æ¡f°j°é±N¸ê®Æ©ñ¤J°}¦C¡A¦]±q²Ä¢°¢¸¦C¶}©l¡A¬G¶·¡Ï¢°¢·¡@
On Error Resume Next:¡@Set Sht = Sheets("PASS¦W³æ"):¡@On Error GoTo 0
¡ÄÀˬd¡ePASS¦W³æ¡f¤u§@ªí¬O§_¤w¦s¦b¡@
¡ÄY¤£¦s¦b¡ASet Sht = Sheets("PASS¦W³æ")¡@³o¦æ·|¦]¿ù»~¦Ó¤¤Â_
¡ÄOn Error Resume Next¡@´N¬On¡e²¤¹L¿ù»~¡f¨Ïµ{¦¡Ä~Äò¹B¦æ¡@
¡ÄOn Error GoTo 0¡@Åýµ{¦¡«ì´_À˰»¿ù¥\¯à¡@
If Sht Is Nothing Then Set Sht = Sheets.Add: Sht.Name = "PASS¦W³æ"
¡Ä¤u§@ªí¤£¦s¦b¡A·s¼W¤@Ó·s¤u§@ªí¨Ã«©R¦W¡@
¡@
With Sht
.Select: .UsedRange.Clear: .[A1].Resize(Jm + 18, UBound(Arr, 2)) = Arr
End With
¡Ä¿ï¨ú¤u§@ªí¡D²M°£ì¦³¸ê®Æ¡D¸m¤º°}¦C¤º®e¡@
¢Õ¢Ý¢â¢Ý¡@¢°¢¯¢°¡@
¡Ä·í±ø¥ó¦¨¥ß¡A«ü©wµ{¦¡¸õ¦Ü³o¤@¼Ð°O¦æ¡A¦Ó²¤¹L¨ä¤U¤èªºµ{¦¡¡@ |
|
|
|
|
|
|
- ©«¤l
- 2842
- ¥DÃD
- 10
- ºëµØ
- 0
- ¿n¤À
- 2898
- ÂI¦W
- 0
- §@·~¨t²Î
- ¡e²¤¡f
- ³nÅ骩¥»
- ¡e²¤¡f
- ¾\ŪÅv
- 100
- ©Ê§O
- ¨k
- ¨Ó¦Û
- ¡e²¤¡f
- µù¥U®É¶¡
- 2013-5-13
- ³Ì«áµn¿ý
- 2025-4-28
|
¦^´_ 8# t591nm
³o¼Ë§ó½ÆÂø¨Ç¡A½Ð¦Û¦æ¬ã¨s¡G- Sub vbaAFilter()
- Dim j&, Jm&, k&, Km&, TX&, Arr, Brr, TT$, Sht As Worksheet
- TX = TextBox1.Text: If TX = 0 Then Exit Sub
- With Sheets("¤u§@ªí1").UsedRange
- ¡@¡@Arr = .Value
- ¡@¡@Brr = .Rows(12)
- End With
- ¡@
- TT = "_FL_C0_C0/C1_RLD2_RR_TS_C1_FDLD_DLD2_"
- For j = 3 To UBound(Brr, 2)
- ¡@¡@If InStr(TT, "_" & Brr(1, j) & "_") = 0 Then Brr(1, j) = ""
- Next
- ¡@
- For j = 12 To UBound(Arr)
- ¡@¡@If j > 18 Then
- ¡@¡@¡@¡@If IsError(Arr(j, 2)) Then GoTo 101
- ¡@¡@¡@¡@If Arr(j, 2) <> "PASS" Then GoTo 101
- ¡@¡@End If
- ¡@¡@Jm = Jm + 1: Km = 0
- ¡@¡@For k = 1 To UBound(Arr, 2)
- ¡@¡@¡@¡@If Brr(1, k) <> "" Then Km = Km + 1: Arr(Jm + 11, Km) = Arr(j, k)
- ¡@¡@Next
- ¡@¡@If Jm = TX + 7 Then Exit For
- 101: Next j
- If Jm = 0 Then Exit Sub
- ¡@
- On Error Resume Next: Set Sht = Sheets("PASS¦W³æ"): On Error GoTo 0
- If Sht Is Nothing Then Set Sht = Sheets.Add: Sht.Name = "PASS¦W³æ"
- With Sht
- ¡@¡@¡@.Select: .UsedRange.Clear: .[A1].Resize(Jm + 11, Km) = Arr
- End With
- End Sub
½Æ»s¥N½X |
|
|
|
|
|
|
- ©«¤l
- 2842
- ¥DÃD
- 10
- ºëµØ
- 0
- ¿n¤À
- 2898
- ÂI¦W
- 0
- §@·~¨t²Î
- ¡e²¤¡f
- ³nÅ骩¥»
- ¡e²¤¡f
- ¾\ŪÅv
- 100
- ©Ê§O
- ¨k
- ¨Ó¦Û
- ¡e²¤¡f
- µù¥U®É¶¡
- 2013-5-13
- ³Ì«áµn¿ý
- 2025-4-28
|
¦^´_ 11# t591nm
¤W¶Ç½d¨ÒÀɦpªG¥i¥H¥¿±`°õ¦æ, ¨ä¥¦ÀÉ´Nn¥h¤ñ¹ï¨ä®t²§, ¤~ª¾¹D¿ù¦bþ?
¸ê®Æ¥²¶·¬O¦³©T©w³W«hªº¡G
²Ä¢°¡ã¢°¢°¦C¡A¬°¡eªíº¡f
²Ä¢°¢±¦C¡A¬°¡e¼ÐÃD¦C¡f
²Ä¢°¢²¡ã¢°¢·¦C¡A¬°¡e¼Ðµù©Î³Æµù¡f§a¡]²q¡^
²Ä¢°¢¸¦C¤Î¥H¤U¡A¬°¡e¸ê®Æ©ú²Ó°Ï¡f
¦]«ü©w¡e¼ÐÃD¦C¡f²Å¦X¤å¦r¤~¨ú¥X¸ÓÄæ¡A
©Ò¥H¨ú¥X¸ê®Æ¥Ñ¢°¢¸¦C§ï¥Ñ¢°¢±¦C¶}©l¡A
Yn¨ú¢´¢¯µ§¡e©ú²Ó¡f¡A«h¥]§t¡e¼ÐÃD¡f¤§¶¡ªº¢¶¦C¡AJm = TX + 7¡@¤~°÷
TT = "_FL_C0_C0/C1_RLD2_RR_TS_C1_FDLD_DLD2_"
For j = 3 To UBound(Brr, 2)
If InStr(TT, "_" & Brr(1, j) & "_") = 0 Then Brr(1, j) = ""
Next
¡ô³o¬q¥Î¨Ó±Æ°£¡e¼ÐÃD¦C¡f¤£²Å¦X¤å¦r®É¡A¨Ï¨ä¤å¦rÅܬ°ªÅ¦r²Å""¡A¥H¬°¤U¤è¨ú±o²Å¦X¡eÄæ¡f¸ê®Æªº¨Ì¾Ú¡@
½Ðª`·N¶×¤J¤å¦rÀɤζK¤J¸ê®Æªº°ÝÃD¡A
¦³¨S¦Ò¼{¹L¬°¦ó¸ê®Æ·|¦³¢µ¢´¢´¢²¢µ¦C¡A¦Ó¨ä¤¤¦³«Ü¦hªº¡e#N/A¡f¿ù»~È¡H
copy1 = Sheets(1).Range("A1:Q8000")¡@³o¤~¢·¢¯¢¯¢¯¦C
Range("A1:Q65535") = copy1¡@«o¶K¦¨¢µ¢´¢´¢²¢µ¦C¡H¡H¡H¡H |
|
|
|
|
|
|
- ©«¤l
- 2842
- ¥DÃD
- 10
- ºëµØ
- 0
- ¿n¤À
- 2898
- ÂI¦W
- 0
- §@·~¨t²Î
- ¡e²¤¡f
- ³nÅ骩¥»
- ¡e²¤¡f
- ¾\ŪÅv
- 100
- ©Ê§O
- ¨k
- ¨Ó¦Û
- ¡e²¤¡f
- µù¥U®É¶¡
- 2013-5-13
- ³Ì«áµn¿ý
- 2025-4-28
|
¥»©«³Ì«á¥Ñ ã´£³¡ªL ©ó 2015-10-23 15:10 ½s¿è
Sub vbaAFilter()
Dim j&, Jm&, k&, Km&, TX&, Arr, Brr, N&, uChk&, TT$, Sht As Worksheet
TX = TextBox1.Text: If TX = 0 Then Exit Sub
Arr = Sheets("¤u§@ªí1").UsedRange.Value
ReDim Brr(1 To UBound(Arr, 2))
TT = "_FL_C0_C0/C1_RLD2_RR_TS_C1_FDLD_DLD2_"
¡@
For j = 1 To UBound(Arr)
¡@¡@If Arr(j, 1) = "Crystal" Then¡@'¥H¡eCrystal¡f§PÂ_¬O§_¬°¡e¼ÐÃD¦C¡f¡@
¡@¡@¡@For k = 1 To UBound(Arr, 2)
¡@¡@¡@¡@¡@Brr(k) = Arr(j, k)¡@'¼ÐÃD¤å¦r¯Ç¤J°}¦C¡A¤£²Å¦XªÌ¶ñ¤JªÅ¦r²Å¡@
¡@¡@¡@¡@¡@If k > 2 And InStr(TT, "_" & Arr(j, k) & "_") = 0 Then Brr(k) = ""
¡@¡@¡@Next k
¡@¡@¡@uChk = 1: ¡@N = j - 1¡@'¼ÐÃD¦C¤W¤èªº¡e¦C¼Æ¡f¡@
¡@¡@End If
¡@
¡@¡@If Arr(j, 1) = 1 Then uChk = 2: N = j - 1: Jm = 0¡@
¡@¡@'¡ÄY¢ÏÄæ¬°¢°¡A«h§PÂ_¬°¡e©ú²Ó¡fªº¶}©l¡A¢Ü¬°¤W¤è¦C¼Æ¡AJmÂk¹s¡@
¡@¡@If uChk = 0 Then GoTo 101
¡@¡@If uChk = 2 And Arr(j, 2) <> "PASS" Then GoTo 101
¡@¡@Jm = Jm + 1: Km = 0
¡@¡@For k = 1 To UBound(Arr, 2)
¡@¡@¡@¡@If Brr(k) <> "" Then Km = Km + 1: Arr(Jm + N, Km) = Arr(j, k)
¡@¡@Next
¡@
¡@¡@If uChk = 2 And Jm = TX Then Exit For
101: Next j
If Jm = 0 Then Exit Sub
¡@
On Error Resume Next: Set Sht = Sheets("PASS¦W³æ"): On Error GoTo 0
If Sht Is Nothing Then Set Sht = Sheets.Add: Sht.Name = "PASS¦W³æ"
With Sht
¡@¡@.Select: .UsedRange.Clear: .[A1].Resize(Jm + N, Km) = Arr
End With
End Sub
'¡×¡×¡×¡×¡×¡×¡×¡×¡×¡×¡×¡×¡×¡×¡×¡×¡×¡×¡×¡×¡×¡×¡×¡×¡×¡×¡×¡×¡×¡×
uChk =1 ªí¥Ü°j°é¨ì¡e¼ÐÃD¦C¡f
uChk =2 ªí¥Ü°j°é¨ì¡e©ú²Ó¡fªº¶}ÀY
¸ê®Æ©³¤Uªº¡e¿ù»~È¡f°È¥²¥ý²M°£¡ã¡ã¡@ |
|
|
|
|
|
|
- ©«¤l
- 2842
- ¥DÃD
- 10
- ºëµØ
- 0
- ¿n¤À
- 2898
- ÂI¦W
- 0
- §@·~¨t²Î
- ¡e²¤¡f
- ³nÅ骩¥»
- ¡e²¤¡f
- ¾\ŪÅv
- 100
- ©Ê§O
- ¨k
- ¨Ó¦Û
- ¡e²¤¡f
- µù¥U®É¶¡
- 2013-5-13
- ³Ì«áµn¿ý
- 2025-4-28
|
¦^´_ 14# t591nm
¬O¥i¥H±N¡e¼ÐÃD¦C¡f¤Î¡e©ú²Ó¶}ÀY¡f±j¨î©T©w¦C¸¹¡A
Y¦³¤£¦P¡A¥i¤â°Ê½Õ¾ã¡A¥un¦h«O¯d´XӪťզC·í½w½Ä§Y¥i¡ã¡ã¿ìªk¬O·Q¥X¨Óªº¡ã¡ã |
|
|
|
|
|
|