模糊r%,i%
昏暗排列,brr
將d作為對象顯示
將wb設為工作簿
將ws標註為工作表
Dim我的路徑$,我的名稱$
Dim reg As New RegExp的上部用於定義變量。聲明reg正則表達式對象。
Set d = createobject(“腳本。字典)”定義了字典。
帶reg
。僅找到壹個對象時,“global = False”reg正則表達式對象將停止。如果它們想要完全匹配,則應該在此將其設置為TRUE。
。pattern =“(\ d+)\。(\ d+)\。XLS $“‘這個原則是壹個正則表達式模式,其中中間的點匹配除“\n“以外的任何單個字符,(\ d+)這匹配多個數字字符,XLS$表示以XLS結尾。
以…結尾
使用工作表(“sheet1“)‘在工作表(“sheet 1“)中執行以下操作。
R =。單元格(行數,1)。結束(xlup)。‘row‘計算表中使用的行數。
arr =。range(“a 1:af“& amp;r)‘給ARR數組賦值。
For i = 1到ARR數據中的UBound(ARR)‘循環。
if Len(arr(I,1)& lt;& gt如果(arr(I,1))單元格的內容長度不為空,則為“0 Then”。
d(arr(I,1))= I‘將單元格arr(I,1)的內容作為關健字符添加到字典中,I表示字典中的相應項目。
如果…就會結束
然後
以…結尾
mypath = ThisWorkbook。路徑與方法。“\““my path等於操作工作表的路徑。
my name = Dir(my path & amp;"*.xls“)“my name等於路徑以xls結尾的工作表。
在我的名字& lt& gt如果myname的值不為空,則為“““。
如果註冊。測試(我的名字)t reg正則對象是否與內容匹配。
設置mh = reg。“執行(myname)”將匹配的內容分配給mh。
n = val(MH(0)。SubMatches(1))+1‘n = val函數返回的字符串中包含的值加上1,MH(0)。SubMatches(1)這裏的表達式是MH的第壹個值中的SubMatches返回的值。
set WB = GetObject(my path & amp;我的名字)
帶wb
與。工作表(“新匯總表”)‘打開工作表。
brr =。範圍(“a6:y47“)
對於i = 1至下界(brr)
如果D .存在(brr(I,1))T如果BRR(I,1)值的內容存在於D字典中。
M = d(brr(I,1))‘設置M = Dbrr(I,1)對應的項。
Arr(m,n)= brr(I,21)‘將等於brr(I,21)的值賦給ARR。
如果…就會結束
然後
以…結尾
。關閉假
以…結尾
如果…就會結束
‘myname = Dir()‘依次打開符合條件的工作表。
環
帶工作表(“sheet1”)
。範圍(“a1“)。resize(ubound(ARR),ubound(ARR,2))= ARR‘將前壹個表格的內容分配給ARR。
以…結尾
最後,這個程序應該依次打開文件夾中的工作表,並將符合要求的數據匯總到壹個新的工作表中。