【发布时间】:2018-07-29 21:17:27
【问题描述】:
我正在使用这个 VBA 从不同的文件中导入很多工作表名称:
Sub ImportSheets()
Dim sPath As String
Dim sFname As String
Dim wBk As Workbook
Dim wSht As Variant
Application.EnableEvents = False
Application.ScreenUpdating = False
sPath = InputBox("Enter a full path to workbooks")
ChDir sPath
sFname = InputBox("Enter a filename pattern")
sFname = Dir(sPath & "\" & sFname & ".xl*", vbNormal)
wSht = InputBox("Enter a worksheet name to copy")
Do Until sFname = ""
Set wBk = Workbooks.Open(sFname)
Windows(sFname).Activate
Sheets(wSht).Copy After:=ThisWorkbook.Sheets(1)
ActiveSheet.Name = ActiveSheet.Range("A9")
wBk.Close False
sFname = Dir()
Loop
ActiveWorkbook.Save
Application.EnableEvents = True
Application.ScreenUpdating = True
End Sub
现在net sheetname 是A9 中写入的任何值,有没有办法可以更改它,所以工作表将被重命名为它导入的文件名? 替代解决方案可能是将其重命名为“导入”和后缀,但我不确定如何添加后缀 1-1000 等。
【问题讨论】: