Формула Vlookup, отображающая ошибку 1004.Работа вокруг также терпит неудачу - PullRequest
1 голос
/ 23 сентября 2019

Я пытаюсь вставить формулу Vlookup в некоторые отфильтрованные данные, но наткнулся на несколько ошибок.Ниже приведен код, который я использую.(Не все, только раздел с вопросом)

'Sells
Dim SellData As Worksheet
Set SellData = Transactions.Sheets("SellData")
Dim lrSell As Long
lrSell = SellData.Cells(Rows.Count, "H").End(xlUp).Row
Dim SellDataRange As Range
Set SellDataRange = SellData.Range("A1:CW" & lrSell)

PrVFormat = Format$(Transactions.Sheets("others").Range("B2").Value, "dd-mmm-yy")
SellDataRange.AutoFilter Field:=8, Criteria1:=PrVFormat
lrSellFilter = SellData.Cells(Rows.Count, "H").End(xlUp).Row

With SellData.Range("CW2:CW" & lrSellFilter).SpecialCells(xlCellTypeVisible)
  .Cells.FormulaR1C1 = "=VLOOKUP(RC[-12],'[OtherWorkbook.xlsx]new'!$A:$K,11,FALSE)"   '1004 error
  SellData.Calculate
SellDataRange.AutoFilter Field:=8
SellData.Range("CW1:CW" & lrSell).Copy
SellData.Range("CW1").PasteSpecial xlPasteValues
End With

Строка, с которой у меня возникла проблема:

.Cells.FormulaR1C1 = "=VLOOKUP(RC[-12],'[OtherWorkbook.xlsx]new'!$A:$K,11,FALSE)"  

Если я уйду из $, я получу1004 ошибка.Если я уберу знак $, формула в итоге будет выглядеть так:

= VLOOKUP (CK1578, '[OtherWorkbook.xlsx] new'! A: (K), 11, FALSE)

'Обратите внимание на круглые скобки вокруг K. Этого не должно быть.

Заранее благодарю за помощь

1 Ответ

2 голосов
/ 23 сентября 2019

Нельзя смешивать номенклатуру R1C1 и A1.

.Cells.FormulaR1C1 = "=VLOOKUP(RC[-12],'[OtherWorkbook.xlsx]new'!C1:C11,11,FALSE)"
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...