Домашняя страница Undo Do New Save Карта сайта Обратная связь Поиск по форуму
МИР MS EXCEL - Гость.xls

Вход

Регистрация

Напомнить пароль

 

= Мир MS Excel/Автоматизация макроса для подсчёта повторений - Мир MS Excel

Регистрация · Логин: · Пароль: · · Забыли пароль?
  • Страница 1 из 1
  • 1
Модератор форума: _Boroda_, Manyasha, SLAVICK, китин  
Мир MS Excel » Вопросы и решения » Вопросы по VBA » Автоматизация макроса для подсчёта повторений (Макросы/Sub)
Автоматизация макроса для подсчёта повторений
vanderlord Дата: Среда, 28.11.2018, 14:33 | Сообщение № 1
Группа: Пользователи
Ранг: Прохожий
Сообщений: 1
Репутация: 0 ±
Замечаний: 0% ±

Excel 2016
Добрый день. Нужна помощь в автоматизации макроса для подсчёта статистических данных. Делаю статистику для любительских лиг по футзалу, необходимо подсчитать повторение забитых и пропущенных мячей командой. Взято пять игр, повторения равны 0,1,2,>2.
[vba]
Код
Sub Макрос1()

' Макрос1 Макрос

   Sheets.Add After:=Sheets(Sheets.Count)
    
    Columns("B:B").ColumnWidth = 25.5
    Range("D1").Select
    ActiveCell.FormulaR1C1 = "Win A"
    Range("E1").Select
    ActiveCell.FormulaR1C1 = "Lost B"
    Range("F1").Select
    ActiveCell.FormulaR1C1 = "Win B"
    Range("G1").Select
    ActiveCell.FormulaR1C1 = "Lost A"
   
' 1-ый
    
    Range("A2").Select
    ActiveCell.FormulaR1C1 = "=А!R[2]C"
    Range("B2").Select
    ActiveCell.FormulaR1C1 = "=CONCATENATE(А!R[2]C[2],"" -"",Б!R[2]C[2])"
    
    Range("D2").Select
    ActiveCell.FormulaR1C1 = "=COUNTIF(А!R[1]C[1]:R[5]C[1],""=0"")"
    Range("D3").Select
    ActiveCell.FormulaR1C1 = "=COUNTIF(А!RC[1]:R[4]C[1],""=1"")"
    Range("D4").Select
    ActiveCell.FormulaR1C1 = "=COUNTIF(А!R[-1]C[1]:R[3]C[1],""=2"")"
    Range("D5").Select
    ActiveCell.FormulaR1C1 = "=COUNTIF(А!R[-2]C[1]:R[2]C[1],"">2"")"

    Range("E2").Select
    ActiveCell.FormulaR1C1 = "=COUNTIF(Б!R[1]C[1]:R[5]C[1],""=0"")"
    Range("E3").Select
    ActiveCell.FormulaR1C1 = "=COUNTIF(Б!RC[1]:R[4]C[1],""=1"")"
    Range("E4").Select
    ActiveCell.FormulaR1C1 = "=COUNTIF(Б!R[-1]C[1]:R[3]C[1],""=2"")"
    Range("E5").Select
    ActiveCell.FormulaR1C1 = "=COUNTIF(Б!R[-2]C[1]:R[2]C[1],"">2"")"

    Range("F2").Select
    ActiveCell.FormulaR1C1 = "=COUNTIF(Б!R[1]C[-1]:R[5]C[-1],""=0"")"
    Range("F3").Select
    ActiveCell.FormulaR1C1 = "=COUNTIF(Б!RC[-1]:R[4]C[-1],""=1"")"
    Range("F4").Select
    ActiveCell.FormulaR1C1 = "=COUNTIF(Б!R[-1]C[-1]:R[3]C[-1],""=2"")"
    Range("F5").Select
    ActiveCell.FormulaR1C1 = "=COUNTIF(Б!R[-2]C[-1]:R[2]C[-1],"">2"")"

    Range("G2").Select
    ActiveCell.FormulaR1C1 = "=COUNTIF(А!R[1]C[-1]:R[5]C[-1],""=0"")"
    Range("G3").Select
    ActiveCell.FormulaR1C1 = "=COUNTIF(А!RC[-1]:R[4]C[-1],""=1"")"
    Range("G4").Select
    ActiveCell.FormulaR1C1 = "=COUNTIF(А!R[-1]C[-1]:R[3]C[-1],""=2"")"
    Range("G5").Select
    ActiveCell.FormulaR1C1 = "=COUNTIF(А!R[-2]C[-1]:R[2]C[-1],"">2"")"
    
' 2-ой

    Range("A6").Select
    ActiveCell.FormulaR1C1 = "=А!R[2]C"
    Range("B6").Select
    ActiveCell.FormulaR1C1 = "=CONCATENATE(А!R[2]C[2],"" - "",Б!R[2]C[2])"
    Range("B7").Select

    Range("D6").Select
    ActiveCell.FormulaR1C1 = "=COUNTIF(А!R[2]C[1]:R[6]C[1],""=0"")"
    Range("D7").Select
    ActiveCell.FormulaR1C1 = "=COUNTIF(А!R[1]C[1]:R[5]C[1],""=1"")"
    Range("D8").Select
    ActiveCell.FormulaR1C1 = "=COUNTIF(А!RC[1]:R[4]C[1],""=2"")"
    Range("D9").Select
    ActiveCell.FormulaR1C1 = "=COUNTIF(А!R[-1]C[1]:R[3]C[1],"">2"")"
    
    
    Range("E6").Select
    ActiveCell.FormulaR1C1 = "=COUNTIF(Б!R[2]C[1]:R[6]C[1],""=0"")"
    Range("E7").Select
    ActiveCell.FormulaR1C1 = "=COUNTIF(Б!R[1]C[1]:R[5]C[1],""=1"")"
    Range("E8").Select
    ActiveCell.FormulaR1C1 = "=COUNTIF(Б!RC[1]:R[4]C[1],""=2"")"
    Range("E9").Select
    ActiveCell.FormulaR1C1 = "=COUNTIF(Б!R[-1]C[1]:R[3]C[1],"">2"")"
    
    
    Range("F6").Select
    ActiveCell.FormulaR1C1 = "=COUNTIF(Б!R[2]C[-1]:R[6]C[-1],""=0"")"
    Range("F7").Select
    ActiveCell.FormulaR1C1 = "=COUNTIF(Б!R[1]C[-1]:R[5]C[-1],""=1"")"
    Range("F8").Select
    ActiveCell.FormulaR1C1 = "=COUNTIF(Б!RC[-1]:R[4]C[-1],""=2"")"
    Range("F9").Select
    ActiveCell.FormulaR1C1 = "=COUNTIF(Б!R[-1]C[-1]:R[3]C[-1],"">2"")"
    
    
    Range("G6").Select
    ActiveCell.FormulaR1C1 = "=COUNTIF(А!R[2]C[-1]:R[6]C[-1],""=0"")"
    Range("G7").Select
    ActiveCell.FormulaR1C1 = "=COUNTIF(А!R[1]C[-1]:R[5]C[-1],""=1"")"
    Range("G8").Select
    ActiveCell.FormulaR1C1 = "=COUNTIF(А!RC[-1]:R[4]C[-1],""=2"")"
    Range("G9").Select
    ActiveCell.FormulaR1C1 = "=COUNTIF(А!R[-1]C[-1]:R[3]C[-1],"">2"")"
    

End Sub
[/vba]
К сообщению приложен файл: 0201159.xlsx(14.2 Kb)


Сообщение отредактировал vanderlord - Среда, 28.11.2018, 14:35
 
Ответить
СообщениеДобрый день. Нужна помощь в автоматизации макроса для подсчёта статистических данных. Делаю статистику для любительских лиг по футзалу, необходимо подсчитать повторение забитых и пропущенных мячей командой. Взято пять игр, повторения равны 0,1,2,>2.
[vba]
Код
Sub Макрос1()

' Макрос1 Макрос

   Sheets.Add After:=Sheets(Sheets.Count)
    
    Columns("B:B").ColumnWidth = 25.5
    Range("D1").Select
    ActiveCell.FormulaR1C1 = "Win A"
    Range("E1").Select
    ActiveCell.FormulaR1C1 = "Lost B"
    Range("F1").Select
    ActiveCell.FormulaR1C1 = "Win B"
    Range("G1").Select
    ActiveCell.FormulaR1C1 = "Lost A"
   
' 1-ый
    
    Range("A2").Select
    ActiveCell.FormulaR1C1 = "=А!R[2]C"
    Range("B2").Select
    ActiveCell.FormulaR1C1 = "=CONCATENATE(А!R[2]C[2],"" -"",Б!R[2]C[2])"
    
    Range("D2").Select
    ActiveCell.FormulaR1C1 = "=COUNTIF(А!R[1]C[1]:R[5]C[1],""=0"")"
    Range("D3").Select
    ActiveCell.FormulaR1C1 = "=COUNTIF(А!RC[1]:R[4]C[1],""=1"")"
    Range("D4").Select
    ActiveCell.FormulaR1C1 = "=COUNTIF(А!R[-1]C[1]:R[3]C[1],""=2"")"
    Range("D5").Select
    ActiveCell.FormulaR1C1 = "=COUNTIF(А!R[-2]C[1]:R[2]C[1],"">2"")"

    Range("E2").Select
    ActiveCell.FormulaR1C1 = "=COUNTIF(Б!R[1]C[1]:R[5]C[1],""=0"")"
    Range("E3").Select
    ActiveCell.FormulaR1C1 = "=COUNTIF(Б!RC[1]:R[4]C[1],""=1"")"
    Range("E4").Select
    ActiveCell.FormulaR1C1 = "=COUNTIF(Б!R[-1]C[1]:R[3]C[1],""=2"")"
    Range("E5").Select
    ActiveCell.FormulaR1C1 = "=COUNTIF(Б!R[-2]C[1]:R[2]C[1],"">2"")"

    Range("F2").Select
    ActiveCell.FormulaR1C1 = "=COUNTIF(Б!R[1]C[-1]:R[5]C[-1],""=0"")"
    Range("F3").Select
    ActiveCell.FormulaR1C1 = "=COUNTIF(Б!RC[-1]:R[4]C[-1],""=1"")"
    Range("F4").Select
    ActiveCell.FormulaR1C1 = "=COUNTIF(Б!R[-1]C[-1]:R[3]C[-1],""=2"")"
    Range("F5").Select
    ActiveCell.FormulaR1C1 = "=COUNTIF(Б!R[-2]C[-1]:R[2]C[-1],"">2"")"

    Range("G2").Select
    ActiveCell.FormulaR1C1 = "=COUNTIF(А!R[1]C[-1]:R[5]C[-1],""=0"")"
    Range("G3").Select
    ActiveCell.FormulaR1C1 = "=COUNTIF(А!RC[-1]:R[4]C[-1],""=1"")"
    Range("G4").Select
    ActiveCell.FormulaR1C1 = "=COUNTIF(А!R[-1]C[-1]:R[3]C[-1],""=2"")"
    Range("G5").Select
    ActiveCell.FormulaR1C1 = "=COUNTIF(А!R[-2]C[-1]:R[2]C[-1],"">2"")"
    
' 2-ой

    Range("A6").Select
    ActiveCell.FormulaR1C1 = "=А!R[2]C"
    Range("B6").Select
    ActiveCell.FormulaR1C1 = "=CONCATENATE(А!R[2]C[2],"" - "",Б!R[2]C[2])"
    Range("B7").Select

    Range("D6").Select
    ActiveCell.FormulaR1C1 = "=COUNTIF(А!R[2]C[1]:R[6]C[1],""=0"")"
    Range("D7").Select
    ActiveCell.FormulaR1C1 = "=COUNTIF(А!R[1]C[1]:R[5]C[1],""=1"")"
    Range("D8").Select
    ActiveCell.FormulaR1C1 = "=COUNTIF(А!RC[1]:R[4]C[1],""=2"")"
    Range("D9").Select
    ActiveCell.FormulaR1C1 = "=COUNTIF(А!R[-1]C[1]:R[3]C[1],"">2"")"
    
    
    Range("E6").Select
    ActiveCell.FormulaR1C1 = "=COUNTIF(Б!R[2]C[1]:R[6]C[1],""=0"")"
    Range("E7").Select
    ActiveCell.FormulaR1C1 = "=COUNTIF(Б!R[1]C[1]:R[5]C[1],""=1"")"
    Range("E8").Select
    ActiveCell.FormulaR1C1 = "=COUNTIF(Б!RC[1]:R[4]C[1],""=2"")"
    Range("E9").Select
    ActiveCell.FormulaR1C1 = "=COUNTIF(Б!R[-1]C[1]:R[3]C[1],"">2"")"
    
    
    Range("F6").Select
    ActiveCell.FormulaR1C1 = "=COUNTIF(Б!R[2]C[-1]:R[6]C[-1],""=0"")"
    Range("F7").Select
    ActiveCell.FormulaR1C1 = "=COUNTIF(Б!R[1]C[-1]:R[5]C[-1],""=1"")"
    Range("F8").Select
    ActiveCell.FormulaR1C1 = "=COUNTIF(Б!RC[-1]:R[4]C[-1],""=2"")"
    Range("F9").Select
    ActiveCell.FormulaR1C1 = "=COUNTIF(Б!R[-1]C[-1]:R[3]C[-1],"">2"")"
    
    
    Range("G6").Select
    ActiveCell.FormulaR1C1 = "=COUNTIF(А!R[2]C[-1]:R[6]C[-1],""=0"")"
    Range("G7").Select
    ActiveCell.FormulaR1C1 = "=COUNTIF(А!R[1]C[-1]:R[5]C[-1],""=1"")"
    Range("G8").Select
    ActiveCell.FormulaR1C1 = "=COUNTIF(А!RC[-1]:R[4]C[-1],""=2"")"
    Range("G9").Select
    ActiveCell.FormulaR1C1 = "=COUNTIF(А!R[-1]C[-1]:R[3]C[-1],"">2"")"
    

End Sub
[/vba]

Автор - vanderlord
Дата добавления - 28.11.2018 в 14:33
boa Дата: Четверг, 29.11.2018, 00:54 | Сообщение № 2
Группа: Проверенные
Ранг: Обитатель
Сообщений: 277
Репутация: 57 ±
Замечаний: 0% ±

2013, 365
vanderlord, здравствуйте,
а в чем заключается ваша автоматизация?
вписать формулы?
ну дык они у вас вписываются...
желаете уменьшить размер кода записанного макрорекодером, воспользуйтесь циклами


 
Ответить
Сообщениеvanderlord, здравствуйте,
а в чем заключается ваша автоматизация?
вписать формулы?
ну дык они у вас вписываются...
желаете уменьшить размер кода записанного макрорекодером, воспользуйтесь циклами

Автор - boa
Дата добавления - 29.11.2018 в 00:54
Мир MS Excel » Вопросы и решения » Вопросы по VBA » Автоматизация макроса для подсчёта повторений (Макросы/Sub)
  • Страница 1 из 1
  • 1
Поиск:

Яндекс цитирования
© 2010-2018 · Дизайн: MichaelCH · Хостинг от uCoz · При использовании материалов сайта, ссылка на www.excelworld.ru обязательна!