вставьте xlookup среди множества рабочих книг с несколькими листами, завернутыми в инструкции if/then

#vba #if-statement #excel-formula #xlookup

Вопрос:

Нужен обзор логики. 2 рабочие книги (на данный момент) по 5 листов в каждой. флаг мастера школы с делами, найденными при экспорте RC HH командой, вставьте столбцы для хранителей со слушателями, чтобы уменьшить отфильтрованные данные и объединить точное совпадение, установленные для поиска в исходном файле, необходимо выполнить сопоставление файла dst с файлом src и заполнить файл dst с помощью файла src, если он есть, не перезаписывайте существующие данные в столбце CMR в файле dst, только адреса строк, используемых на соответствующих листах для сохранения данных файлы src и dst хранятся в sharepoint, microsoft не может напрямую открыть эти файлы через vba. необходимо убедиться, что соответствующие файлы открыты на рабочем столе пользователя, чтобы это работало, и никакие другие пользователи не подключались во время выполнения среды office 365

 Sub Trial()   Dim src As String  Dim dst As String  Dim wbSource As Workbook  Dim wbDest As Workbook  Dim ALERT As String  Dim Concatenate As String  Dim FILLDATA As String  Dim SOURCE As String  Dim Head1 As String  Dim Head2 As String  Dim Check As Range  Dim r As Long  Dim lastrow2 As Long  Dim lastrow As Long  Dim N As Long     src = "RC_SCH_SORTED_TODAY.xlsx"  dst = "Copy Fall 2021_Schools_master list_8.24.21.xlsx"  ALERT = "ALERT-RC-Match"  Concatenate = "=RC[-47]amp;""-""amp;RC[-46]amp;""-""amp;RC[-45]"  Head1 = "FLAG FOR PULL FROM RC EXPORT"  Head2 = "Concatenated Search"  FILLDATAMS = "=XLOOKUP(@AX:AX,wbSource[[#RC SPARKS],[Concatenated Search]],wbDest[[#SPARKS],[CMR'#]],,0) "  FILLDATADC = "=XLOOKUP(@AX:AX,wbSource[[#RC DC],[Concatenated Search]],wbDest[[#DC],[CMR'#]],,0) "  FILLDATADR = "=XLOOKUP(@AX:AX,wbSource[[#RC Danielle],[Concatenated Search]],wbDest[[#Danielle],[CMR'#]],,0) "  FILLDATANC = "=XLOOKUP(@AX:AX,wbSource[[#RC Natalie],[Concatenated Search]],wbDest[[#Natalie],[CMR'#]],,0) "  FILLDATAGH = "=XLOOKUP(@AX:AX,wbSource[[#RC Gabe],[Concatenated Search]],wbDest[[#Gabe],[CMR'#]],,0) "  Set wbSource = Workbooks(src)  Set wbDest = Workbooks(dst)    Workbooks(src).Activate  Workbooks(dst).Activate  ' sparks's team workload  Sheets("SPARKS").Select  Range("AW1").Value = Head1  Range("AX1").Value = Head2    Application.ScreenUpdating = False  lastrow = Worksheets("SPARKS").UsedRange.Rows.Count  N = Cells(Rows.Count, "C").End(x1Up).Row  Range("AX2:AX" amp; N).Formula2R1C1 = Concatenate  For r = lastrow To 2 Step -1    If Worksheets("SPARKS").Range("AF" amp; r).Value = "" Then  Worksheets("SPARKS").Cells("AF").Value = FILLDATAMS amp; Worksheets("SPARKS").Cells("AW") = ALERT  Else  End If  Next r  Application.ScreenUpdating = True  

разрыв в логике внутри if/then повторяется среди других листов для их соответствующих источников, и я застрял на логике. Я формально не обучен, но мне было поручено разобраться в этом. У меня есть несколько других книг для выполнения аналогичных функций, в том числе для консолидации данных в группах поддержки.

Комментарии:

1. Не могли бы вы уточнить, о чем вы спрашиваете? Весь первый абзац состоит в основном из одного предложения…

2. Я запыхалась, пытаясь прочесть все предложение целиком. Пожалуйста, отредактируйте свой вопрос и уточните, в чем именно заключается ваша проблема. Если возможно, пожалуйста, предоставьте скриншот ваших данных и укажите, что вы ожидаете от кода.

3. @Raymond WU. Извини, что я долго болтаю. Я сравниваю записи в разных книгах, которые содержат похожие данные для нескольких команд. в файле назначения В некоторых записях уже будет заполнено поле «CMR». Я хочу вставить xlookup «FILLDATAxx» в этот столбец и в файл dest ТОЛЬКО для тех, кто не заполнен вручную, И поместить»ПРЕДУПРЕЖДЕНИЕ» в столбец AW для вставки записи, поскольку результат вставленной формулы идентичен ранее существовавшим данным. для этого нужен визуальный триггер для конечных пользователей

4. @Брюсуэйн. когда я отлаживаю код, он прерывается в состоянии If/Then и часто прерывается в «N = Ячейках(строках. Количество, «C»).Конец(x1Up).Строка» очевидно, что еще не в производстве

5. @Джонатан, какую ошибку ты получил? (код ошибки, описание и какая строка)