Повторите раскрывающуюся запись проверки на основе совпадений во втором столбце в Excel / VBA. - PullRequest
0 голосов
/ 05 марта 2019

У меня есть столбец с раскрывающимися параметрами (A) и один со списком значений (B).

A B
M 1
L 2
H 3
  1
  1
  3

Если я выбираю из раскрывающегося списка A, есть ли в VBA простое решение повторить это значение в A для каждого соответствующего экземпляра в B?

Итак, желаемый результат:

A B
M 1
L 2
H 3
M 1
M 1
H 3

Ценю любые решения!

Ответы [ 2 ]

2 голосов
/ 05 марта 2019

Примерно так:

Sub match()

Dim lrA, lrB, i, j As Long

lrA = Cells(Rows.Count, 1).End(xlUp).Row
lrB = Cells(Rows.Count, 2).End(xlUp).Row

For i = 2 To lrB
    If IsEmpty(Cells(i, 1)) Then
        For j = 2 To lrA
            If Cells(i, 2).Value = Cells(j, 2) Then Cells(i, 1).Value = Cells(j, 1).Value
        Next j
    End If
Next i

End Sub
0 голосов
/ 05 марта 2019

вы можете использовать:

Sub RepeatValuesInA()
    Range("B1", Cells(Rows.Count, 2).End(xlUp)).Offset(, -1).SpecialCells(xlCellTypeBlanks).Formula = "=INDEX(R1C:R[-1]C,MATCH(RC[1],R1C2:R[-1]C2,0))"
End Sub

или, если хотите избавиться от формул:

Sub RepeatValuesInA()
   With Range("B1", Cells(Rows.Count, 2).End(xlUp)).Offset(, -1)
       .SpecialCells(xlCellTypeBlanks).Formula = "=INDEX(R1C:R[-1]C,MATCH(RC[1],R1C2:R[-1]C2,0))"
       .Value = .Value
   End With
End Sub
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...