0
Я ищу код VBA, который мог бы помочь мне применить VLOOKUP в столбце «L», но только ячейки с определенным текстом.Условный VLOOKUP с конкретным текстом
Например, если значение в ячейке в столбце «L» равно «# N/A», тогда оно должно заменить его значением, возвращаемым из VLOOKUP. Если значение не «# N/A», оно не должно изменять фактическое значение в ячейке.
Вот код, который я пытался
Range("L:L").NumberFormat = "mm/dd/yyyy"
lastrow6 = Range("K" & Rows.Count).End(xlUp).Row
Range("L3").Formula = "=IF(ISNA(VLOOKUP(A3,'[Ref_Data_Vivar.xlsx]Legacy PCO'!$A$2:$B$25628,2,0)),"""",IF(ISERROR(FIND(""#N/A"", VLOOKUP(A3,'[Ref_Data_Vivar.xlsx]Legacy PCO'!$A$2:$B$25628,2,0)))"
Range("L3").AutoFill Destination:=Range("L3:L" & lastrow3)
Range("L:L").value = Range("L:L").value
Вместо того, чтобы просить в интернете для «кода VBA», дайте ему попробовать первый, а затем задайте конкретный вопрос о VBA. Там есть много учебников VBA. – CodeJockey
Однако я просмотрел несколько руководств, но не смог найти тот, который мог бы помочь мне разрешить мой запрос. Я попробовал код ниже, но не работал 'Range (« L: L »). NumberFormat =« mm/dd/yyyy » lastrow = Range (« K »& Rows.Count) .End (xlUp) .Row Диапазон ("L3"). Формула = "= IF (ISNA (VLOOKUP (A3, '[Ref_Data_Vivar.xlsx] Legacy PCO'! $ A $ 2: $ B $ 25628,2,0))," " "", IF (ISERROR (FIND ("" # N/A "", VLOOKUP (A3, '[Ref_Data_Vivar.xlsx] Legacy PCO'! $ A $ 2: $ B $ 25628,2,0))) " Диапазон («L3»). Автозаполнение: = Диапазон («L3: L» и последний) Диапазон («L: L»). Value = Range («L: L»). Value' –
Посмотрите на функцию VBA [IsError ] (https://msdn.microsoft.com/en-us/library/office/gg278547.aspx). – Jeeped