
excel
第一,把这些表格都放到一个新建的文件夹里; 第二,在这个文件夹里再新建一个
excel表格; 然后打开这个新表格,点左下角的sheet1,右键 → 查看代码 → 把下面这段代码复制进去 → 然后点运行,运行那个子过程就行。 等个一小会儿就搞定了,不过前提是你的表格都没合并过单元格,要是有合并的,程序会崩掉。还有,每个表格的A列必须有内容,不然也不行。 等合并完之后,把B列里面是空的那些行筛选一下,删掉就可以了。代码我贴在下面了:
VBASub 合并当前目录下所有工作簿的全部工作表()Dim MyPath, MyName, AWbNameDim Wb As Workbook, WbN As StringDim G As LongDim Num As LongDim BOX As Strin
GAPplication.ScreenUpdating = FalseMyPath = ActiveWorkbook.PathMyName = Dir(MyPath & & *.xls)AWbName = ActiveWorkbook.NameNum = 0Do While MyName If MyName AWbName ThenSet Wb = *.Open(MyPath & & MyName)Num = Num + 1With Workbooks(1).ActiveSheet.Cells(.Range(B65536).End(xlUp).Row + 2, 1) = Left(MyName, Len(MyName) - 4)For G = 1 To Sheets.CountWb.Sheets(G).UsedRange.Copy .Cells(.Range(B65536).End(xlUp).Row + 1, 1)NextWbN = WbN & Chr(13) & Wb.NameWb.Close FalseEnd WithEnd IfMyName = DirLoopRange(B1).SelectApplication.ScreenUpdating = TrueMsgBox 共合并了 & Num & 个工作薄下的全部工作表。如下: & Chr(13) & WbN, vbInformation, 提示End Sub