У меня есть две таблицы в одной и той же книге, в листах ("送達 raw") хранятся необработанные данные, в листах ("送達 證書") для ввода пользователем строки, которую они хотят найти, как показано ниже.
Private Sub OpenAddress()
Dim addressNum As Integer
Dim addressString As String
Dim name As String
Dim findCell As Range
Count = TB1.Value
'TB1.Value is the string which type by user
Set findCell = Worksheets("送達地址").Columns("A").Cells.Find(what:=Count, lookat:=xlWhole, LookIn:=xlValues)
If findCell Is Nothing Then
MsgBox "not found"
isPass = False
Exit Sub
End If
For i = 1 To People
S = 2
With Worksheets("送達地址")
.findCell.Offset(0, 1).Value = name
.findCell.Offset(0, 2).Value = addressNum
.findCell.Offset(0, 3).Value = addressString
End With
With Worksheets("送達證書")
.Cells(S, 1).Value = name
.Cells(S, 3).Value = addressNum & " " & addressString
S = S + 1
i = i + 1
End With
Next i
S = 2
End Sub
Проблема в том, что переменная findCell приводит к возвращению введенной вами строки вместо ее адреса.
Пример: вы хотите найти, где находится строка "1", но findCell возвращает "1"
вместо возврата адрес "1" есть.