Страницы: 1
RSS
Макрос(сравнение, циклы)
 
Помогите, пожалуйста, написать макрос. В прикрепленном файле имеется таблица. Необходимо    
из столбца "Узел №1" определить сколько раз встречается цифра 1,2 и т.д.(до мах-1), и в какой ветви(из столбца "Ветви") была эта цифра.  
 
Например:  
"Узел №1" - 1, 3 раза, ветви:1,4,8.  
"Узел №1" - 2, 1 раз, ветви:5  
и т.д.  
 
Заранее спасибо, надеюсь сформулировал четко.
 
А зачем макрос? Чем формулы не устраивают?  
 
Куда на лист надо поместить результаты вычислений?
 
Задание такое.  
Результаты нужно поместить под таблицей.
 
Вот Вам макрос:  
 
Sub test()  
   Dim coll As New Collection: On Error Resume Next  
   Dim cell As Range, ra As Range: Application.ScreenUpdating = False  
   Set ra = Range([b2], Range("b" & Rows.Count).End(xlUp))
   For Each cell In ra.Cells  
       coll.Add cell, CStr(cell)  
   Next cell  
 
   For Each num In coll  
       txt = ""  
       For Each cell In ra.Cells  
           If cell = num Then txt = txt & ", " & cell.Previous  
       Next cell  
 
       res = """Узел №1""" & " - " & num & ",  " & _  
             WorksheetFunction.CountIf(ra, num) & " раз" & ", ветви: " & Mid(txt, 3)  
       Range("a" & Rows.Count).End(xlUp).Offset(1) = res  
   Next num  
   Application.ScreenUpdating = True  
End Sub  
 
 
Вот - результат его работы:  
 
"Узел №1" - 1,  3 раз, ветви: 1, 4, 8  
"Узел №1" - 5,  1 раз, ветви: 2  
"Узел №1" - 4,  1 раз, ветви: 3  
"Узел №1" - 2,  1 раз, ветви: 5  
"Узел №1" - 3,  2 раз, ветви: 6, 7  
 
 
А вот - пример файла с макросом:  
http://excelvba.ru/XL_Files/Sample__27-09-2009__0-17-02.zip
 
EducatedFool, спасибо большое:)
 
Влад, теорию цепей изучаете? :)
Страницы: 1
Читают тему
Наверх