Я некоторое время работаю над этой функцией и не могу заставить ее работать, и я не смог найти какие-либо должности, которые помогли решить мою конкретную проблему.переменные в функции поиска vba
То, что я пытаюсь выполнить, - это найти даты, которые могут быть в любом столбце A: G из Sheet4, используя значение Date, которое является одной ячейкой слева от моей активной ячейки в Sheet9.
Этот код является тем, что у меня до сих пор работало, когда у меня были статические значения, такие как (1/1/16) в моем поиске, но теперь не работает, когда я пытаюсь использовать переменную. На второй строке моего с выражением, которое у меня только что было. Выберите, когда у меня были статические термины поиска, и это сработало, но как только я добавил переменную, я получил ошибку «Object variable или With Block not Set», поэтому я добавил ActiveCell перед это, но теперь это просто заставляет выбирать любую ячейку, в которой находится мой курсор. Любая помощь по этому поводу будет очень признательна.
Sub test()
Dim rFoundCell As Range
Dim vDate As Variant
Dim Expense As Worksheet
Dim Data As Worksheet
Set Expense = Sheet9
Set Data = Sheet4
Set rFoundCell = Range("A1")
Set vDate = ActiveCell.Offset(0, -1)
Set rFoundCell = Data.Range("A:G").find(What:=vDate, After:=rFoundCell, _
LookIn:=xlValues, LookAt:=xlPart, SearchOrder:=xlByRows, _
SearchDirection:=xlNext, MatchCase:=False)
Sheet4.Activate
With rFoundCell
ActiveCell.Select
ActiveCell.Offset(1, 0).Copy
Sheets("Expense Data").Select
Selection.PasteSpecial Paste:=xlPasteValuesAndNumberFormats, Transpose:=True
ActiveCell.Offset(1, 0).Select
End With
Какой тип 'vDate'? Если он работал со строковым литеральным вводом, попробовал ли вы объявить его как «Строка» вместо «Как вариант»? Также вам нужно обработать случай, когда 'rFoundCell' является' Nothing' - блок 'With' взорвется с ошибкой времени выполнения 91. @cyboashu плохой совет, вы не' Set' a * value *, вы 'Set' * ссылка на объект *. –
согласился. не испытал на моем конце. Комментарий удален! – cyboashu