Как исправить кнопку с несколькими процедурами? - PullRequest
0 голосов
/ 21 сентября 2019

У меня есть курс в Удеме «Основные макросы Microsoft Excel и Excel VBA».

Где инструктор сделал макрос / процедуру сортировки, а я пытался создать кнопку «Сортировка».

Все работает хорошо, но после создания кнопки сортировки выдает ошибку:

Сбой класса диапазона метода сортировки

В любом случае я решил, но позже я получил еще одну ошибку, связаннуюк ссылкам.

Я очень плохо знаком с этим VBA и не смог его отладить.

Это VB Excel.

Public Sub UserSortInput()
    Dim userInput As String
    Dim promptMsg As String
    Dim tryAgain As Integer


    promptMsg = "Enter a numeric value to sort .. " & vbCrLf & _
        "1 -> Sort by Division" & vbCrLf & _
        "2 -> Sort by Category" & vbCrLf & _
        "3 -> Sort by Total"

    userInput = InputBox(promptMsg)

    If userInput = "1" Then
        DivisionSort
    ElseIf userInput = "2" Then
        CategorySort
    ElseIf userInput = "3" Then
        TotalSort
    Else
        tryAgain = MsgBox("Invalid Value! Try Again?", vbYesNo)
        If tryAgain = 6 Then
            UserSortInput
        End If

    End If

End Sub
Sub DivisionSort()
'
' Sort List by Division Ascending
'

'
    Selection.Sort Key1:=Range("A4").Select, Order1:=xlAscending, Header:=xlGuess, _
        OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom, _
        DataOption1:=xlSortNormal

End Sub

Sub CategorySort()
'
' Sort List by Category Ascending
'

'
    Selection.Sort Key1:=Range("B4").Select, Order1:=xlAscending, Header:=xlGuess, _
        OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom, _
        DataOption1:=xlSortNormal

End Sub

Sub TotalSort()
'
' Sort List by Total Sales Ascending
'

'
    Selection.Sort Key1:=Range("F4").Select, Order1:=xlAscending, Header:=xlGuess, _
        OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom, _
        DataOption1:=xlSortNormal

End Sub
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...