Я пытаюсь получить макрос, который берет 2 листа из книги и сравнивает 2 разных столбца данных.Compare 2 Sheets of Data (Macro)
Найти номер в «Цена Отклонения» D2: D999999 и попытаться сопоставить его «Финансы All» E2: E999999
Если они совпадают, то взять соответствующие данные из «Финансы All '! G2: G999999 и вставьте его в соответствующие строки в «Оценки цены»! U2: U999999.
Разъяснение
Я хочу посмотреть на значение в ячейке в «Цена Отклонения», Column «D», строка «2», тогда смотрите, если есть совпадение в «Финансы Все» столбец «E» (просмотрите весь столбец для соответствия).Если есть, я хочу вставить данные из соответствующей строки совпадения из «Финансировать все», Столбец «G» в «Параметр цены», Столбец «U», «Строка 2» (это та же строка из исходной ячейки, с которой мы искали совпадение).
Это нужно будет обрабатывать для каждой строки после «Параметр цены», столбец «D».
Ниже то, что я до сих пор - Пожалуйста подправить & правильно по мере необходимости.
Sub Price_Variation_Finance_Match()
Dim CompareRange As Variant, x As Variant, y As Variant
' Set CompareRange equal to the range to which you will
' compare the selection.
Set CompareRange = Range("'Finance All'!E2:E999999")
' NOTE: If the compare range is located on another workbook
' or worksheet, use the following syntax.
' Set CompareRange = Workbooks("Daily Pricing (5)"). _
' Worksheets("Price Variances", "Finance All").Range("E2:E999999")
' Loop through each cell in the selection and compare it to
' each cell in CompareRange.
For Each x In Selection
For Each y In CompareRange
If x = y Then x.Offset(0, 17) = x
Next y
Next x
End Sub
Я считаю, что моя проблема заключается в последний 'х' в "если х = у, то x.Offset (0, 17) = х"
Ниже Оригинал Macro
Sub Find_Matches()
Dim CompareRange As Variant, x As Variant, y As Variant
' Set CompareRange equal to the range to which you will
' compare the selection.
Set CompareRange = Range("C1:C5")
' NOTE: If the compare range is located on another workbook
' or worksheet, use the following syntax.
' Set CompareRange = Workbooks("Book2"). _
' Worksheets("Sheet2").Range("C1:C5")
'
' Loop through each cell in the selection and compare it to
' each cell in CompareRange.
For Each x In Selection
For Each y In CompareRange
If x = y Then x.Offset(0, 1) = x
Next y
Next x
End Sub
какая у вас проблема? каков макрос прямо сейчас? Вы не получите никакой помощи на этом сайте, если попросите людей «просто исправить», но можете получить полезную помощь в попытке выявить проблему или проблему. – Maciej
Моя проблема в том, что у меня нет работы, и я не могу найти исправления. И макрос прямо сейчас размещен выше. Я подошел к концу своей веревки с точки зрения ее работы - макрос работает, но данные не перемещаются. – Bcarr91
Каково значение x на этой строке, которое, по вашему мнению, является причиной проблемы? не заменяется ли оно тем же значением, что и в ячейке? Пробовали ли вы установить x.Offset (0,17) на некоторое статическое значение? Колонна U заполнена чем-нибудь? Что содержит Отбор? – Maciej