функция приложения, использующая индекс small, если нужно найти более одного совпадающего результата - PullRequest
0 голосов
/ 11 июля 2019
Sub IndMat()
Dim wh1 As Worksheet
Dim wh2 As Worksheet
Set wh1 = Sheets("DATA")
Set wh2 = Sheets("Dashboard")
Dim y As Variant
Dim x As Long
Dim lr1 As Long
Dim lr2 As Long
Dim rng1 As Range
Dim rng2 As Range
Dim i As Integer
‘This is the formula I want to use but in an application function ‘”=IFERROR    (INDEX(DATA!$B$2:$B$257;SMALL(IF(DATA! $D$2:$D$257=DATAMATCH!$M$7;ROW(DATA!$D$2:$D$257)-MIN(ROW(DATA!$D$2:$D$257))   +1);ROWS($B$13:$I15)));"")”
 Lr1 = wh1.Cells(Rows.Count, 5).End(xlUp).Row
  Lr2 = wh2.Cells(Rows.Count, 2).End(xlUp).Row

Set rng1 = wh1.Range("D2:D" & lr1)
Set rng2 = wh2.Range("A2:A" & lr1)
For i = 2 To lr2
 wh2.Cells(i, 13) = Application.Index(rng2, Application.Small(Application.if  (rng1 = wh2.Cells(12, 1), Application.Row(rng1), Application.Min(Application.Row(rng1)) + 1), Application.Rows("B13")), "")
Next
End Sub

Вид новичка, использующего функцию приложения, поэтому было бы очень приятно, если бы кто-то мог помочь мне перевести эту функцию в функцию приложения.

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