有什么方法可以从一份EXCEL表中提取另一个一个文件夹里每个文件名对应名的值
有多种方法可以从 Excel 表中提取另一个文件夹中每个文件名对应的值,以下是其中的两种常用方法:
- 使用 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 或在菜单栏中选择“运行”->“运行子过程”)。
- 使用 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 文件
原文地址: https://www.cveoy.top/t/topic/dp96 著作权归作者所有。请勿转载和采集!