- 帖子
- 2848
- 主題
- 10
- 精華
- 0
- 積分
- 2903
- 點名
- 0
- 作業系統
- 〔略〕
- 軟體版本
- 〔略〕
- 閱讀權限
- 100
- 性別
- 男
- 來自
- 〔略〕
- 註冊時間
- 2013-5-13
- 最後登錄
- 2026-7-25
|
本帖最後由 准提部林 於 2019-5-8 10:03 編輯
回復 6# rcyw
Sub 搜尋複製()
Dim FindTxt$, xA(4) As Range, PH$, F, xRR As Range
Dim xB As Workbook, xS As Worksheet, xU As Range, N&, V&
FindTxt = [B2]
If FindTxt = "" Then MsgBox "搜尋文字未輸入! ": Exit Sub
Call 清除
PH = ThisWorkbook.Path
For i = 1 To 4
Set xA(i) = Range("A" & Array(20, 35, 50, 65)(i - 1))
Next i
Application.ScreenUpdating = False
For Each F In Array("A", "B", "C", "D")
Set xRR = Nothing
If Dir(PH & "\" & F & ".csv") = "" Then GoTo 101
Set xB = Workbooks.Open(PH & "\" & F & ".csv")
Set xS = xB.Sheets(1): Set xU = xS.UsedRange
Set xRR = xU.Rows(1): V = 0
For i = 2 To xU.Rows.Count
If InStr(xU.Cells(i, 1), FindTxt) > 0 Then V = V + 1: Set xRR = Union(xRR, xU.Rows(i))
Next i
N = N + 1
xA(N) = F & " File Data": xA(N).Resize(1, 4).Interior.ColorIndex = 4
xRR.Copy xA(N)(2)
With xA(N)(3).Resize(V, xU.Columns.Count)
.Sort Key1:=.Item(1), Order1:=xlAscending, Header:=xlNo
End With
xB.Close 0
101: Next
End Sub
======== |
|