Страницы: 1
RSS
Аналог формулы ИНДЕКС в VBA
 
Здравствуйте!  
Помогите, пжл, написать для VBA аналог формулы ИНДЕКС.  
В примере я иложил свои изыскания, но у меня ощущение, что сделал это кривовато, можно как-то проще и красивее.  
Спасибо!
 
Какова цель написания аналога функции ИНДЕКС?  
Функции ИНДЕКС, ПОИСКПОЗ и многие другие доступны в VBA:  
 
Sub Макрос7()  
   i = Application.Match(Cells(23, 1), Range("A2:A20"), 0)  
   j = Application.Match(Cells(23, 2), Range("B1:G1"), 0)  
   Cells(24, 1).Value = Application.Index(Range("B2:G20"), i, j)  
End Sub
 
2 Казанский  
Нужно из двухмерного массива (данные по горизонтали и вертикали которого уникальны) "вытащить" значение, находящееся на пересечении нужных строки и столбца.  
Спасибо Вам за помощь.  
Буду изучать.
 
Попробовал с "интерсект"  
Учитывает вариант, если даты будут повторяться.  
 
Sub test()  
Dim Col As Integer, Dt As Date, Val As Range  
   Col = Cells(23, 2).Value  
   Dt = Cells(23, 1).Value  
   For Each Val In Range("a2:a20").Cells  
       If Val.Value = Dt Then  
           MsgBox Intersect(Rows(Val.Row), Columns(Col + 1)).Value  
       End If  
   Next  
End Sub
 
2 VDM  
Спасибо!  
И Ваш вариант будет обязательно изучен.  
Попытаюсь подогнать под себя.
 
2 Казанский  
2 VDM  
Ещё раз спасибо Вам и всем, кто хотел помочь.  
Всё работает. Моя запись была укорочена  
Удачи!
Страницы: 1
Читают тему
Наверх