有时候需要把经过处理的导出数据批量加表头,好久不写VB了有点生疏,记录一个。
注意,这种方式加表头因为是反复打开文件、写入文件,所以速度是非常慢的!!!我观察了一下,基本上在我的970EVO上速度是1个文件/s。如果可能,还是尽量用pandas的功能输出excel吧。
Sub test()
Dim wb As Workbook
Dim mypath$, myname$
Application.ScreenUpdating = False
Application.DisplayAlerts = False
mypath = ThisWorkbook.Path & "\"
myname = Dir(mypath & "*.xl*")
Do While myname <> ""
If myname <> ThisWorkbook.Name Then
Set wb = Workbooks.Open(mypath & myname)
With wb
For Each ws In .Worksheets
Rows(1).Insert
Next
wb.Close True
End With
End If
myname = Dir()
Loop
Application.ScreenUpdating = True
MsgBox "添加表头完毕!", vbInformation
End Sub