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