Итак, у меня проблема. У меня есть что-то похожее на это на Листе 1, где у меня есть несколько экземпляров одного и того же термина с разными (или иногда несуществующими) определениями:
Term Name Definition Chosen Definition?
Account The account.
Account
Account An account name. x
Sheet2 - это справочный лист со всеми уникальными именами терминов, но без определений.
Term Name Definition
Account
Product
Customer
Поскольку у меня так много дубликатов одного и того же термина в Листе 1, я пытаюсь написать что-то, где я могу просто поставить «х» в третьем столбце («Выбранное определение?»), Чтобы отметить определение, которое я выбрал и он возьмет соседнюю ячейку определения из Sheet1 (в столбце B) и поместит ее в нужное место в Sheet2 следующим образом:
Term Name Definition
Account An account name.
Product
Customer
Я предполагаю, что это будет сделано либо путем объединения чего-то вроде оператора IF, оператора AND и VLOOKUP, либо в VBA (в которой я вообще не являюсь экспертом). Я испробовал оба метода и чувствую, что подобрался несколько ближе, но не совсем там. Вот мой код VBA:
Sub InputData()
Dim c as Range
Dim j as Integer
Dim Source as Worksheet
Dim Target as Worksheet
Set Source = ActiveWorkbook.Worksheets("Sheet1")
Set Target = ActiveWorkbook.Worksheets("Sheet2")
j = 2
For Each c in Source.Range("C3:C1000")
If c = "x"
Source.Rows(c.Rows).Copy Target.Rows(j)
j = j + 1
End If
Next c
End Sub
Это просто помещает любую строку с 'x' в столбец C в начале Листа 2:
Term Name Definition
Account An account name.
Account
Product
Customer
Я близко знаком с имеющимся у меня кодом VBA? Я не думаю, что формулы будут работать, поскольку я считаю, что то, что я ищу, должно пройтись по каждой ячейке, чтобы найти совпадение, но я не хочу добавлять новую строку каждый раз, когда нахожу совпадение.