Я начинаю VBA, пытаюсь переделать какой-то код из полезного автора, у меня возникла какая-то проблема, и я надеюсь, что вы сможете мне помочь ,VBA Range.find ошибки (не xlPart find и объектная переменная не установлена ошибка)
У меня есть строки комментариев на одном листе (DATA2) и ключевые слова в другом (КЛЮЧЕВЫЕ СЛОВА). Моя цель - поиск по комментариям и присвоение им категории, если найдено одно из ключевых слов.
Код ниже работает, как хотелось бы, при некоторых значениях (Data = Eric Keyword = Eric)
. Однако при других значениях возникает ошибка «Ошибка переменной объекта», я предполагаю, что значение не найдено (Data=Ericlikespie Keyword = Eric OR Data=Emi No Keyword)
.
Любые указатели были бы полезны. Я просмотрел предыдущие ответы, но большинство из них, похоже, связано с проблемой набора. Я понимаю, что все это можно сделать вручную с условным форматированием или с большой формулой index + search, но я ищу что-то лучшее.
Sub Trail()
'DECS
Dim ws As Worksheet, Map As Worksheet
Dim MapRange As range, UpdateRange As range, aCell As range, bCell As range
On Error GoTo Err
'DEFS
Set ws = Worksheets("DATA2")
Set Map = Worksheets("KEYWORDS")
Set UpdateRange = ws.range("K:K")
Set MapRange = Map.range("A:A")
'COMPS
For Each aCell In UpdateRange
Set bCell = MapRange.Find(What:=aCell, LookIn:=xlValues, _
LookAt:=xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext, _
MatchCase:=False, SearchFormat:=False)
If Not bCell Is Nothing Then
aCell.Offset(0, -1) = bCell.Offset(0, 1)
End If
Next
Exit Sub
Err:
MsgBox Err.Description
End Sub
@Siddharth Разгром Спасибо за приведенный выше код, он был весьма полезным в моем обучении – Shakujin
Используя шаг в код выдает ошибку, после того, как найти несколько значений, на линии aCell.Offset внутри если заявление – Shakujin