Сопоставьте значение и скопируйте его в новую ячейку - PullRequest
1 голос
/ 26 октября 2009

Я пытаюсь создать макрос Excel, который позволит мне сделать следующее:

У меня есть два листа Excel.

Я хочу, чтобы макрос совпадал со всеми значениями в Sheet1, col A и ячейкой A1 в Sheet2. Если это совпадает, скопируйте ячейку Dx из Sheet1 в ячейку D1 в Sheet2. Если этого не произойдет, просто перейдите к ячейке A2 в Sheet2 и сделайте то же самое, но скопируйте ячейку Dx из Sheet1 в ячейку D2.

Я попробовал метод vlookup и потерпел неудачу.

=vlookup($A1,CELLREF-SHEET1,column(),false)

Я также пытаюсь реализовать этот метод, который я написал для другого проекта:

Dim cel As Range, celFound As Range, rg As Range, rgLookHere As Range
Dim i As Long
Dim v As Variant
Set rg = Range("A1") 'First cell to check
Set rgLookHere = rg.Offset(0, 1).EntireColumn 'Check for matches in this column
Set rg = Range(rg, Cells(Rows.Count, rg.Column).End(xlUp))

On Error Resume Next
ReDim v(1 To rg.Cells.Count, 1 To 1)
For Each cel In rg.Cells
i = i + 1
If cel <> "" Then
Set celFound = Nothing
Set celFound = rgLookHere.Find(cel.Value, LookIn:=xlValues, LookAt:=xlWhole)
v(i, 1) = IIf(celFound Is Nothing, "Null", "yes")
End If
Next
rg.Offset(0, 2).Value = v
On Error GoTo 0

У вас есть какой-нибудь совет?

1 Ответ

2 голосов
/ 26 октября 2009

VLookup, кажется, путь. Если у меня есть данные в столбцах A и D на Sheet1, и данные для сопоставления в столбце A на Sheet2, я помещаю следующий VLookup в Sheet2 в столбец D:

= ВПР (A1, Лист1 A: D, 4, FALSE)

Вы увидите N / A в ячейках, где нет совпадений. Вы всегда можете использовать ISNA () для их идентификации и на основе IF () вы можете вывести фактическое совпадение или ничего.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...