Я создал макрос для одного из наших шаблонов загрузки, который использует формулу VLOOKUP для сопоставления описаний с кодами.Если есть новое описание, пользователь должен создать новый код.После того, как они создают новый код и VLOOKUP возвращает совпадение, появляется дополнительный макрос, который будет копировать / вставлять специальные / удалять дубликаты, чтобы подготовить файл для загрузки.Я хотел бы включить что-то в последний макрос, который будет проверять наличие ошибок VLOOKUP, прежде чем копировать / вставлять специальные / удалять дубликаты.Всего имеется 9 рабочих листов, и номер строки будет отличаться.
Я обнаружил, что эта функция проверяет наличие # N / A, но я не уверен, что лучше всего использовать ее в существующем макросе:
Application.WorksheetFunction.IsNA(rngToCheck.Value)
Вот макрос для копирования / вставки специальных / удаления дубликатов, который я сейчас использую:
Sub PasteSpecialAndRemoveDups()
Application.ScreenUpdating = False
Cells.Select
Application.CutCopyMode = False
Selection.Copy
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Sheets("1_Vendor_Upload").Select
Cells.Select
Range("A:D").Activate
Application.CutCopyMode = False
Selection.Copy
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Sheets("2_Lines").Select
Cells.Select
Range("A:C").Activate
Application.CutCopyMode = False
Selection.Copy
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Sheets("3_Parts_Info_Brand").Select
Cells.Select
Range("A:B").Activate
Application.CutCopyMode = False
Selection.Copy
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Sheets("4_Vendor_Brand").Select
Cells.Select
Range("A:B").Activate
Application.CutCopyMode = False
Selection.Copy
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Sheets("5_Product_Line_Catalog_Type").Select
Cells.Select
Range("A:B").Activate
Application.CutCopyMode = False
Selection.Copy
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Sheets("6_Product_Lines_Catalog").Select
Cells.Select
Range("A:F").Activate
Application.CutCopyMode = False
Selection.Copy
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Sheets("7_Vendor_Catalogs").Select
Cells.Select
Range("A:B").Activate
Application.CutCopyMode = False
Selection.Copy
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Sheets("8_Vendor_Users").Select
Cells.Select
Range("A:B").Activate
Application.CutCopyMode = False
Selection.Copy
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Sheets("9_Parts").Select
Cells.Select
Range("A:P").Activate
Application.CutCopyMode = False
Selection.Copy
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Sheets("1_Vendor_Upload").Select
Application.CutCopyMode = False
Cells.Select
Sheets("1_Vendor_Upload").Select
ActiveSheet.UsedRange.RemoveDuplicates Columns:=Array(1, 2, 3, 4), Header:=xlYes
Sheets("2_Lines").Select
ActiveSheet.UsedRange.RemoveDuplicates Columns:=Array(1, 2, 3), Header:=xlYes
Sheets("3_Parts_Info_Brand").Select
ActiveSheet.UsedRange.RemoveDuplicates Columns:=Array(1, 2), Header:=xlYes
Sheets("4_Vendor_Brand").Select
ActiveSheet.UsedRange.RemoveDuplicates Columns:=Array(1, 2), Header:=xlYes
Sheets("5_Product_Line_Catalog_Type").Select
ActiveSheet.UsedRange.RemoveDuplicates Columns:=Array(1, 2), Header:=xlYes
Sheets("6_Product_Lines_Catalog").Select
ActiveSheet.UsedRange.RemoveDuplicates Columns:=Array(1, 2, 3, 4, 5, 6), Header:=xlYes
Sheets("7_Vendor_Catalogs").Select
ActiveSheet.UsedRange.RemoveDuplicates Columns:=Array(1, 2), Header:=xlYes
Sheets("8_Vendor_Users").Select
ActiveSheet.UsedRange.RemoveDuplicates Columns:=Array(1, 2), Header:=xlYes
Sheets("9_Parts").Select
ActiveSheet.UsedRange.RemoveDuplicates Columns:=Array(1, 2, 3, 4, 5, 6, _
7, 8, 9, 10, 11, 12, 13, 14, 15, 16), Header:=xlYes
Application.ScreenUpdating = True
MsgBox "Done"
End Sub
Заранее спасибо!