![](/img/trans.png)
[英]How to search for one value in a column against all values in multiple columns in Excel
[英]Search all columns in an excel column and check value against file name in folder to see if exists?
我有一個包含.txt文件的文件夾:
\\uksh000-file06\SharedAreas\1.0 Hewden Public\NS\Approval
每個文本文件都有一個隨機名稱,如下所示:
NS123SHS.txt
NSg234eH.txt
NSds3461.txt
大多數文件的文件名(減去擴展名.txt)都在我的Excel工作表的c列中。
NS123SHS
NSds3461
我正在嘗試掃描c列以檢查是否在我的文件夾目錄中找到了文件名,如果是,則顯示一條消息,指出已找到,否則顯示一條消息,指出未找到。
到目前為止,我所能找到的就是如何掃描我定義的特定值的列,但是我希望能夠掃描整個列,並比較每個值以查看它是否存在於我的文件夾中?
有人可以告訴我如何做嗎? 謝謝
Private Sub Workbook_Open()
Dim FindString As String
Dim Rng As Range
FindString = "NSds3461"
If Trim(FindString) <> "" Then
With Sheets("Home").Range("C:C") 'searches all of column A
Set Rng = .Find(What:=FindString, _
After:=.Cells(.Cells.Count), _
LookIn:=xlValues, _
LookAt:=xlWhole, _
SearchOrder:=xlByRows, _
SearchDirection:=xlNext, _
MatchCase:=False)
If Not Rng Is Nothing Then
MsgBox "found" 'value not found
Else
MsgBox "Reference Not Found" 'value not found
End If
End With
End If
在下面的代碼中,您將必須將Worksheets( 1 )更新為具有文件名的工作表索引,並使用信息將FOLDER_PATH更新為:
\\\\uksh000-file06\\SharedAreas\\1.0 Hewden Public\\NS\\Approval
。
Option Explicit
Private Sub Workbook_Open()
Const FOLDER_PATH As String = "C:\temp\"
Const FILE_NAME_COL As Long = 3
Dim fileNames As Variant, ws As Worksheet, i As Long
Dim fName As String, result As String
Set ws = Worksheets(1)
fileNames = ws.UsedRange.Columns(FILE_NAME_COL)
For i = 2 To UBound(fileNames)
fName = Trim(fileNames(i, 1))
If Len(Dir(FOLDER_PATH & fName)) > 0 Then
fName = fName & vbTab & ": Found" & vbCrLf
Else
fName = fName & vbTab & ": Not Found" & vbCrLf
End If
result = result & i - 1 & ". " & vbTab & fName
Next
MsgBox result, , "Search Result"
End Sub
。
結果:
希望能幫助到你
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.