У меня есть несколько проблем с попыткой найти число, которое имеет длину, равную или большую, длиной 9 цифр.Проблема с функцией поиска против файлов CSV
Я написал это, и если число меньше 9, оно выбирает его, иначе оно не будет.
Числа в формате, как это 1013617518
Sub LoopThroughDirectory()
Application.DisplayAlerts = False
Dim Ifind As String, rngData As Range
Dim rngFound As Range
Dim r As Long
MyPath = "C:/"
activefile = Dir(MyPath & "*.csv")
r = 1
Start:
If Range("A" & r) = "" Then
Exit Sub
End If
Application.ScreenUpdating = False
Do While activefile <> ""
Ifind = Range("A" & r).Value
Workbooks.Open Filename:=MyPath & activefile
Set rngData = ActiveSheet.Range("B:B")
Set rngFound = rngData.Find(Ifind, LookIn:=xlValues)
ActiveWorkbook.Close
If Not rngFound Is Nothing Then
Range("B" & r) = activefile
r = r + 1
GoTo Start
Else: Range("B" & r) = "Not Found"
End If
activefile = Dir()
Range("A" & r).Select
Loop
Application.ScreenUpdating = True
r = r + 1
activefile = Dir(MyPath & "*.csv")
GoTo Start
Application.Display Alerts = True
End Sub
Любые идеи, почему оно не поднимая их вверх и pickign вверх короткие номера было бы здорово
есть вы использовали отладчик для выполнения кода? – bugtussle
Удалите приложение.DisplayAlerts = False и посмотрите, есть ли скрытое сообщение –
. Ошибок пока нет. что происходит, если число, которое он ищет, составляет менее 9 цифр, поэтому 1029282, то оно найдет его (если оно находится в filse), но оно больше, чем 9, даже если оно находится в файле, который он говорит, не найден –