2010-10-07 299 views
1

是否有任何方法来提取工作簿名称,但只提取它的一部分。 任何版本的Excel的将是罚款2003最好Excel VBA或函数从工作簿中提取工作簿名称和数据

例如

"Help_TicketID123456788.xls" 
"Help_TicketID563565464.xls" 

...

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

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

谢谢!

回答

0

在您的主电子表格中,您可以编写一个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

相关问题