VB vlookup в другой лист для определенных значений - PullRequest
0 голосов
/ 30 января 2020

Не могли бы вы помочь мне с vlookup на другом листе только для определенных значений? Я пытался для каждого, для меня, разные, если и т. Д.

Мне нужно VBA для ввода значений Sheet2 из Sheet1, но только для строк, которые имеют значение "De rediscutat" в другом столбце в листе 2.

Ниже у вас есть код, который я написал для этой функции:

Dim result As String
Dim Sheet2 As Worksheet
Set Sheet2 = ActiveWorkbook.Sheets("Sheet2")
Set MyRange = Range("X2:X800")
If MyRange = "De rediscutat" Then
Worksheets("Sheet2").Range("N2:N694").Formula = Application.WorksheetFunction.VLookup(Sheet2.Range("I2:I694"), Sheet1.Range("G2:M500"), 7, False)
End If
End Sub```

Thanks!

Ответы [ 2 ]

0 голосов
/ 30 января 2020

For Each и For i оба будут работать для циклического просмотра MyRange, но вы не включили ни один из них в свой код.

Возможно, проблема не в вашем l oop, а в как вы проверяете камеру. If MyRange = "De rediscutat" будет работать только тогда, когда MyRange` представляет собой одну ячейку.

Если вы Dim cell As Range воссоздаете For Each cell In MyRange l oop и используете `If cell =" De rediscutat ", тогда оно должно работать.

0 голосов
/ 30 января 2020

Для этого вам понадобится al oop. Ваш код также имеет большую избыточность. Надеемся, что это поможет вам начать:

Dim cel As Range, myrange As Range

Set myrange = Sheet2.Range("X2:X800")

For Each cel In myrange
    If cel.Value = "De rediscutat" Then 
        'Grab whichever value you need and put it where you need it
    End if
next cel

Я предлагаю использовать Cel.Row, чтобы получить номер строки текущей ячейки в l oop, или Cel.Offset(,), чтобы получить ячейку в той же ячейке. грести.

...