Excel VBA或函数从工作簿中提取工作簿名称和数据

有没有什么办法来提取工作簿的名称,但只提取它的一部分。 任何版本的Excel将罚款最好是2003年。

例如

"Help_TicketID123456788.xls" "Help_TicketID563565464.xls" 

所以我想提取ID numbers并把它们放在另一个工作簿中的主工作表上的列中。

此外,我想从每个工作簿的特定列(总是相同的列)中提取一些数据,并将其放入主工作表中。

谢谢!!

在您的主电子表格中,您可以编写一个VBA过程来遍历目录中的所有xls文件,从每个文件名中提取ID号,然后打开每个文件以提取其他数据。 这应该让你开始:

 Sub RunCodeOnAllXLSFiles() Dim lCount As Long Dim wbResults As Workbook Dim wbCodeBook As Workbook Application.ScreenUpdating = False Application.DisplayAlerts = False Application.EnableEvents = False On Error Resume Next Set wbCodeBook = ThisWorkbook With Application.FileSearch .NewSearch 'Change path to suit .LookIn = "C:\MyDocuments\TestResults" .FileType = msoFileTypeExcelWorkbooks 'Optional filter with wildcard .Filename = "Help_TicketID*.xls" If .Execute > 0 Then 'Workbooks in folder For lCount = 1 To .FoundFiles.Count 'Loop through all 'Extract ticket # '.FoundFiles(lCount) is the filename 'Open Workbook x and Set a Workbook variable to it Set wbResults = Workbooks.Open(Filename:=.FoundFiles(lCount), UpdateLinks:=0) 'Read the data from wbResults and write to your master spreadsheet wbResults.Close SaveChanges:=False Next lCount End If End With On Error GoTo 0 Application.ScreenUpdating = True Application.DisplayAlerts = True Application.EnableEvents = True End Sub 

资料来源: http : //www.ozgrid.com/VBA/loop-through.htm