Как скрепить три макроса для запуска от нажатия одной определённой кнопки ? - VBA

Узнай цену своей работы

Формулировка задачи:

Как можно соединить вот эти три макроса,(какой командой в коде это возможно сделать,если это возможно конечно)чтобы они запускались в такой же последовательности в какой они выложены в сообщении,и была возможность назначения кнопки для запуска этого объединённого макроса.И если нет возможности соединить именно все три,то есть ли возможность соединить 1 и 2 или 2 и 3 макросы???
Листинг программы
  1. Sub tt()
  2. Dim c As Range, t1$, t2$, i&
  3. i = 27
  4. t1 = [h27]
  5. t2 = [i27]
  6. For Each c In Intersect(Sheets(1).UsedRange, Sheets(1).Columns(8)).Cells
  7. If Trim(c) = t1 Then
  8. If Trim(c.Offset(, 1)) = t2 Then
  9. i = i + 1
  10. c.EntireRow.Cells(1).Resize(1, 22).Copy Cells(i, 1)
  11. End If
  12. End If
  13. Next
  14. End Sub
Листинг программы
  1. Sub Фильтрация()
  2. '
  3. ' Фильтрация Макрос
  4. '
  5. '
  6. Range("F28:F30022").Select
  7. ActiveWorkbook.Worksheets("Расчётная").Sort.SortFields.Clear
  8. ActiveWorkbook.Worksheets("Расчётная").Sort.SortFields.Add Key:=Range( _
  9. "F28:F30022"), SortOn:=xlSortOnValues, Order:=xlDescending, DataOption:= _
  10. xlSortNormal
  11. With ActiveWorkbook.Worksheets("Расчётная").Sort
  12. .SetRange Range("A28:U30022")
  13. .Header = xlGuess
  14. .MatchCase = False
  15. .Orientation = xlTopToBottom
  16. .SortMethod = xlPinYin
  17. .Apply
  18. End With
  19. Range("E28:E30023").Select
  20. ActiveWorkbook.Worksheets("Расчётная").Sort.SortFields.Clear
  21. ActiveWorkbook.Worksheets("Расчётная").Sort.SortFields.Add Key:=Range( _
  22. "E28:E30023"), SortOn:=xlSortOnValues, Order:=xlDescending, DataOption:= _
  23. xlSortTextAsNumbers
  24. With ActiveWorkbook.Worksheets("Расчётная").Sort
  25. .SetRange Range("A28:U30023")
  26. .Header = xlGuess
  27. .MatchCase = False
  28. .Orientation = xlTopToBottom
  29. .SortMethod = xlPinYin
  30. .Apply
  31. End With
  32. Range("E27").Select
  33. End Sub
Листинг программы
  1. Sub Rachet_one_Group()
  2. Dim b&(), i&, j&, a, n&
  3. For n = 24 To 30 Step 2
  4. ReDim b(20)
  5. lLastRow = Cells(Rows.Count, n).End(xlUp).Row
  6. a = Range(Cells(27, n), Cells(lLastRow, n))
  7. If a(1, 1) = 1 Then j = 1
  8. For i = 2 To UBound(a)
  9. If a(i, 1) = 1 Then
  10. j = j + 1
  11. Else
  12. If j <> 0 Then j = IIf(j > 20, 20, j): b(j) = b(j) + 1
  13. j = 0
  14. End If
  15. Next
  16. b(0) = b(1)
  17. b(1) = 0
  18. For i = 2 To UBound(b)
  19. b(1) = b(1) + b(i) '* i
  20. Next
  21. Cells(26, n + 1).Resize(UBound(b), 1) = Application.Transpose(b)
  22. Next
  23. End Sub

Решение задачи: «Как скрепить три макроса для запуска от нажатия одной определённой кнопки ?»

textual
Листинг программы
  1. sub rrrr ()
  2.     tt
  3.   фильтрация
  4.   Rachet_one_Group
  5. End sub

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

7   голосов , оценка 3.714 из 5

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут
Похожие ответы