Может кто-нибудь, пожалуйста, помогите мне понять, почему мое заявление If
возвращает эту ошибку и как лучше выполнить намеченную задачу?
Цель этого Sub
состоит в том, чтобы скопировать записи компании / продажи из листа src
на лист des
, но там, где есть несколько записей для компании, я хочу суммировать продажи и иметь только одну запись на des
. он делает это, сначала выбирая название компании из src
, а затем проверяя, существует ли оно в des
.
Sub populate_sales()
slr = src.Range("A" & Rows.Count).End(xlUp).row
For r = 2 To slr
dlr = des.Range("A" & Rows.Count).End(xlUp).row
c_name = src.Range("M" & r).Value
Dim d_names As Range
Set d_names = des.Range("A1", des.Range("A" & dlr + 1))
If d_names.Find(c_name) = False Then
' start the summing + writing process
Else
' skip to next next record
End If
Next
End Sub
для записи, хотя вы видите только d_names
, определенный здесь, все переменные определено, я просто делаю это глобально для тех, кто используется несколькими подводными лодками. на самом деле, пока c_name
уже существует в диапазоне d_names
, оператор If
работает и переходит к следующей компании. однако если компания не существует в d_names
, то возвращается ошибка, выделяющая If d_names.Find(c_name) = False Then
.
, любая помощь, которую может предложить сообщество, будет принята с благодарностью.