繁体   English   中英

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

[英]Excel VBA or Function to extract Workbook name and data from workbook

有什么方法可以提取工作簿名称,但是只能提取其中一部分。 任何版本的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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM