excel - 如果文件名的第一部分与文件夹中的文件匹配,则在电子表格中返回 1 或 0
问题描述
我想根据文件名开头的一系列单元格搜索文件。
然后,我希望宏在文件名旁边返回 1 或 0(如果存在或不存在)。
我的工作表在 A2:A29 中设置了文件名,我想为 B2:B29 中存在或不存在的文件返回 1 和 0
我已经开始尝试编写宏,但我被卡住了。请帮忙
Sub SiteSignal()
Dim folderPath As String
Dim Filename As Range
folderPath = "C:\Users\RobEi\Documents\MWAM_Eisenrich\Client_Data\Sacramento\Sacramento_Flow_Pressure"
Filename = ("A2:A29")
End Sub
解决方案
- 循环
A2:A29
使用Offset
以写入B2:B29
. folderPath
将每个单元格中的值和通配符连接起来"*"
,然后使用该Dir
函数检查是否存在与该模式匹配的文件。- 如果匹配,
Len
则String
返回的将是> 0
. Abs(TRUE)
返回 1;Abs(FALSE)
返回 0。
Sub SiteSignal()
Dim folderPath As String
Dim Filename As Range, rng As Range
folderPath = "C:\Users\RobEi\Documents\MWAM_Eisenrich\Client_Data\Sacramento\Sacramento_Flow_Pressure"
Set Filename = ThisWorkbook.Worksheets("YourSheetName").Range("A2:A29")
For Each rng In Filename
rng.Offset(, 1).Value = Abs(Len(Dir(folderPath & "\" & rng.Value & "*")) > 0)
Next rng
End Sub
推荐阅读
- sql - 更新表格产品中的日期
- java - Spring:如何将请求发布到多对多关系中
- amazon-web-services - 在 AWS EMR 中提交 Spark 作业
- json - 聚合相似的对象对字段求和
- javascript - 如何在 react admin v3 中设置时区?
- swift - 为什么不能在 Swift 中从 Facebook Graph API 下载图像?
- command-line - wget 和外部图像的问题
- javascript - 使用 javascript 检测用户的区域设置是否设置为 12 小时或 24 小时时间格式
- ruby-on-rails - 更改表单提交时的 URL 参数
- java - 如何创建可在整个应用程序中访问但同时请求特定的变量?