方式一:这是我从B站抄的代码,但运行后一点反应也没有
Sub ddd()
Dim FN As String
Dim Path As String
Dim i, r As Integer
Dim wkb As Workbook
Dim sht As Worksheet
Application.ScreenUpdating = False
Path = ThisWorkbook.Path & " \"
Set sht = Sheets("sheet1")
FN = Dir(Path & "*人力.xls*")
Do Until FN = ""
i = i + 1
Set wkb = Workbooks.Open(Path & FN)
[a1].CurrentRegion.Copy
r = sht.Range("a10000").End(xlUp).Row + 1
sht.Cells(r, 1).PasteSpecial
Application.CutCopyMode = False
wkb.Close False
FN = Dir
Loop
Application.ScreenUpdating = True
End Sub
方式二:我从百度复制的代码,但这句Wb.Sheets(G).UsedRange.Copy.Cells(.Range("B65536").End(xlUp).Row + 1, 1)运行不通过 Sub 合并当前目录下所有工作簿的全部工作表() Dim MyPath,MyName, AWbName Dim Wb AsWorkbook, WbN As String Dim G As Long Dim Num As Long Dim BOX As String Application.ScreenUpdating= False MyPath =ActiveWorkbook.Path MyName =Dir(MyPath & "\" & "*.xls") AWbName =ActiveWorkbook.Name Num = 0 Do While MyName<> "" If MyName<> AWbName Then Set Wb =Workbooks.Open(MyPath & "\" & MyName) Num = Num + 1 WithWorkbooks(1).ActiveSheet .Cells(.Range("B65536").End(xlUp).Row+ 2, 1) = Left(MyName, Len(MyName) - 4) For G = 1 ToSheets.Count Wb.Sheets(G).UsedRange.Copy.Cells(.Range("B65536").End(xlUp).Row + 1, 1) Next WbN = WbN &Chr(13) & Wb.Name Wb.Close False End With End If MyName = Dir Loop Range("B1").Select Application.ScreenUpdating= True MsgBox "共合并了"& Num & "个工作薄下的全部工作表。如下:" &Chr(13) & WbN, vbInformation, "提示" End Sub 求高人指点,究竟我该怎么办才能把这段代码跑通?或者有现成的简单代码发给我也行
|