Я пытался решить эту проблему в течение нескольких дней, и я просто не могу опустить голову вокруг нее. Я искал несколько веб-сайтов (даже здесь несколько раз), я видел, что многие люди задавали этот вопрос, но решения для меня не работают.VBA найти последнее вхождение строки
Я хочу найти последнее вхождение строки в диапазоне и сохранить адрес в переменной и отобразить сообщение, сообщающее мне, где оно находится.
До сих пор я это
Private Sub CmdBtnClockIt_Click()
Dim job As String
Dim searchTerm as Range
job = CmbBoxJob.Value
searchTerm = Range("A1:A999").find(what:=job, searchorder:=xlByColumns, searchdirection:=xlPrevious).Column
MsgBox "last cell is " & searchTerm.Address
End Sub
Все, что я, кажется, получают либо «недействительны классификатор» или «предметная переменная или переменная блока не установлена»
Любая помощь приветствуется
SEARCHTERM является диапазон и должен быть установлен и не только назначены. 'Set searchTerm = ..... и т. Д.' – NickSlash
Как упоминалось @NickSlash, вам нужно использовать Set для возврата диапазона. Также вы используете свойство .Column в конце, которое вернет номер столбца, а не диапазон. Вам нужно оставить поле. – Jane
Почему у вас есть поиск Возврат столбца? Вы уже знаете, что это будет «1» (это столбец A). Просто удалите эту часть кода (.column). Затем просто установите «Установить» перед «searchTerm - Range (...», и вам будет хорошо идти. – BruceWayne