有多种方法可以从 Excel 表中提取另一个文件夹中每个文件名对应的值,以下是其中的两种常用方法:

  1. 使用 Excel VBA:

a. 在 Excel 中打开 Visual Basic 编辑器(按下 Alt + F11)。

b. 在左窗格中选中您的工作簿,在菜单栏中选择“插入”->“模块”。

c. 在代码窗口中输入以下代码:

Sub GetFileValues() Dim myFolder As String Dim myFile As String Dim fileName As String Dim wb As Workbook Dim ws As Worksheet Dim row As Integer

'设置文件夹路径
myFolder = "C:\MyFolder\" '替换为您的文件夹路径

'打开 Excel 文件
Set wb = Workbooks.Open("C:\MyWorkbook.xlsx") '替换为您的 Excel 文件路径

'选择工作表
Set ws = wb.Worksheets("Sheet1") '替换为您的工作表名称

'开始循环文件夹中的文件
myFile = Dir(myFolder & "\*.xlsx") '替换为您需要的文件类型
row = 2 '从第二行开始输入值,第一行为标题

Do While Len(myFile) > 0
    fileName = Mid(myFile, 1, InStrRev(myFile, ".") - 1) '提取文件名,去除扩展名
    '在工作表中查找文件名
    Set cell = ws.Columns(1).Find(What:=fileName, LookIn:=xlValues, LookAt:=xlWhole)
    If Not cell Is Nothing Then
        '如果找到对应的文件名,输入对应的值
        Set wb2 = Workbooks.Open(myFolder & "\" & myFile)
        ws.Cells(row, 2) = wb2.Sheets("Sheet1").Range("A1").Value '替换为您需要的值
        wb2.Close SaveChanges:=False
    End If
    row = row + 1 '下一行
    myFile = Dir '下一个文件
Loop

wb.Close SaveChanges:=True '保存并关闭 Excel 文件

End Sub

d. 替换代码中的文件夹路径、Excel 文件路径、工作表名称和需要的值。

e. 运行代码(按下 F5 或在菜单栏中选择“运行”->“运行子过程”)。

  1. 使用 Excel 的 VLOOKUP 函数:

a. 在 Excel 中打开您的工作簿。

b. 在工作表中输入文件名和需要的值。

c. 打开 Windows 资源管理器,选择您的文件夹,按下 Ctrl + A,将所有文件复制到剪贴板。

d. 在 Excel 工作表中选择一个空单元格,按下 Ctrl + V,将所有文件名粘贴到此单元格中。

e. 在需要的值所在的单元格中输入以下公式:=VLOOKUP(A2,'[文件名.xlsx]Sheet1'!$A$1:$B$100,2,FALSE)

其中,A2 是文件名所在的单元格,[文件名.xlsx] 是您要提取值的 Excel 文件的名称,Sheet1 是工作表名称,$A$1:$B$100 是文件名和需要的值所在的单元格范围,2 是需要的值所在列的列号,FALSE 是精确匹配。

f. 拖动公式以填充需要的值。

g. 保存并关闭 Excel 文件

有什么方法可以从一份EXCEL表中提取另一个一个文件夹里每个文件名对应名的值

原文地址: https://www.cveoy.top/t/topic/dp96 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录