Trying to have each of macro run right after the other

I'm looking to combine these macros and have them run one after the other with one click on a command button. Having issues with this and look for some help.

Sub Select_File_Or_Files_Mac()
    Dim MyPath As String
    Dim MyScript As String
    Dim MyFiles As String
    Dim MySplit As Variant
    Dim N As Long
    Dim Fname As String
    Dim mybook As Workbook
    Dim filePath As Variant
    Dim dataRange As Range 'Range in the import sheet to get data from (excludes header row)
    Dim destRange As Range 'Range in the destination sheet to write to (end of usedrange.rows +1)
    
    'On Error Resume Next
    MyPath = MacScript("return (path to documents folder) as String")
    MyScript = _
    "set applescript's text item delimiters to "","" " & vbNewLine & _
               "set theFiles to (choose file of type " & _
             " {""com.microsoft.excel.xls"",""public.comma-separated-values-text"",""org.openxmlformats.spreadsheetml.sheet""}" & _
               "with prompt ""Please select a file or files"" default location alias """ & _
               MyPath & """ multiple selections allowed true) as string" & vbNewLine & _
               "set applescript's text item delimiters to """" " & vbNewLine & _
               "return theFiles"

    MyFiles = MacScript(MyScript)
    On Error GoTo 0
   
   If MyFiles <> "" Then
        MySplit = Split(MyFiles, ",")
            Set destRange = ThisWorkbook.Sheets("Import").UsedRange
            'Clear content of Current sheet apart from headers
            destRange.Offset(1).Clear

        For Each filePath In MySplit
            Set mybook = Application.Workbooks.Open(filePath, , True, , , , , , , , , , False) 'open read-only. Don't add to MRU
            testval = mybook.Sheets(1).Cells(1, 1).Value 'Check the value of cell A1 to determine the version of the import sheet
            Debug.Print testval
            Set dataRange = mybook.Sheets(1).UsedRange.Offset(1)
            Set dataRange = dataRange.Resize(dataRange.Rows.Count - 1)
            Debug.Print dataRange.Address
            Set destRange = ThisWorkbook.Sheets("Import").UsedRange
            'Clear content of Current sheet apart from headers
'            If testval = "SR Number" Or testval = "ID" Then
'                destRange.Offset(1).Clear
'                Set destRange = destRange.Resize(1, 1)
'            End If
            If testval = "Subject" Or testval = "Problem Summary" Then
                destRange.Offset(2).Clear
                Set destRange = destRange.Resize(2, 2)
            End If
            Set destRange = destRange.Offset(destRange.Rows.Count).Resize(dataRange.Rows.Count)
            Debug.Print destRange.Address
            If testval = "id" Then 'ge-ticket-history-view-2015-03-31' (Zendesk file type)
                destRange.Columns(1).Value = dataRange.Columns(1).Value 'SR
                destRange.Columns(2).Value = dataRange.Columns(3).Value 'Subject
                destRange.Columns(3).Value = dataRange.Columns(4).Value 'Severity
                destRange.Columns(4).Value = dataRange.Columns(6).Value 'Assignee
                destRange.Columns(5).Value = dataRange.Columns(2).Value 'Status
                destRange.Columns(6).Value = dataRange.Columns(5).Value 'Product
                destRange.Columns(7).Value = dataRange.Columns(7).Value 'Organization
                destRange.Columns(8).Value = dataRange.Columns(8).Value 'Request Date
                destRange.Columns(9).Value = dataRange.Columns(9).Value 'LastUpdated
                destRange.Columns(10).Value = dataRange.Columns(10).Value 'Channel
                destRange.Columns(11).Value = Now()
            ElseIf testval = "SR Number" Then 'SEARCH-SR-PRODUCT-GROUPS (EMC Support file type)
                destRange.Columns(1).Value = dataRange.Columns(1).Value 'SR
                destRange.Columns(2).Value = dataRange.Columns(2).Value 'Problem Summary
                destRange.Columns(3).Value = dataRange.Columns(3).Value 'Severity
                destRange.Columns(4).Value = dataRange.Columns(4).Value 'Owner
                destRange.Columns(5).Value = dataRange.Columns(5).Value 'Status
                destRange.Columns(6).Value = dataRange.Columns(7).Value 'Product
                destRange.Columns(7).Value = dataRange.Columns(8).Value 'Organization
                destRange.Columns(8).Value = dataRange.Columns(10).Value 'Create Date
                destRange.Columns(9).Value = dataRange.Columns(11).Value 'LastUpdated
                destRange.Columns(10).Value = dataRange.Columns(20).Value 'Creation Channel
                For Each c In destRange.Columns(8).Cells
                    c.Value = ISODateToExcel(c.Value)
                Next
                destRange.Columns(11).Value = Now()
            ElseIf testval = "" Then 'US Bank (import file type)
                destRange.Columns(1).Value = dataRange.Columns(2).Value 'SR
                destRange.Columns(2).Value = dataRange.Columns(10).Value 'Subject
                destRange.Columns(3).Value = dataRange.Columns(6).Value 'Severity
                destRange.Columns(4).Value = dataRange.Columns(12).Value 'Owner
                destRange.Columns(5).Value = dataRange.Columns(11).Value 'Status
                destRange.Columns(6).Value = dataRange.Columns(8).Value 'Product
                destRange.Columns(7).Value = dataRange.Columns(4).Value 'Organization
                destRange.Columns(8).Value = dataRange.Columns(14).Value 'Creation Date
                destRange.Columns(9).Value = dataRange.Columns(16).Value 'LastUpdated
                destRange.Columns(10).Value = dataRange.Columns(20).Value 'Creation Method
                destRange.Columns(11).Value = Now()
            End If
            mybook.Close
        Next
   End If
End Sub

Function ISODateToExcel(DTString) As Date
    thedate = DateSerial(Left(DTString, 4), Mid(DTString, 6, 2), Mid(DTString, 9, 2))
    thetime = TimeSerial(Mid(DTString, 12, 2), Mid(DTString, 15, 2), Mid(DTString, 18, 2))
    ISODateToExcel = thedate + thetime
End Function

Sub EE_ChangeCellValue()
    Dim l As Long, rng As Range
    Sheets("Import").Select
    l = Sheets("Import").Cells(Cells.Rows.Count, "C").End(xlUp).Row
    If l > 1 Then
    Set rng = Sheets("Import").Range("C2:C" & l)  ' You can change this to the proper COLUMN; Starts in ROW 1
    For Each cell In rng
        Select Case LCase(cell.Value)   ' If you have additional criteria, type it in LOWER CASE below
        Case "severity 1 - critical", "s1": cell.Value = "S1"
        Case "severity 2 - major", "s2": cell.Value = "S2"
        Case "severity 3 - minor", "s3": cell.Value = "S3"
        Case "severity 4 - cosmetic", "s4": cell.Value = "S4"
        Case Else: cell.Value = cell.Value
        End Select
    Next cell
    End If
    Cells(1, 3).Select
EE_ChangeCreateMethod
End Sub
Sub EE_ChangeCreateMethod()

    Dim l As Long, rng As Range
    Sheets("Import").Select
    l = Sheets("Import").Cells(Cells.Rows.Count, "J").End(xlUp).Row
    Set rng = Sheets("Import").Range("J2:J" & l)  ' You can change this to the proper COLUMN; Starts in ROW 1
    For Each cell In rng
        Select Case LCase(cell.Value)   ' If you have additional criteria, type it in LOWER CASE below
        Case "0": cell.Value = "Web form"
        Case "4": cell.Value = "Email"
        Case "29": cell.Value = "Chat"
        Case "30": cell.Value = "Twitter"
        Case "26": cell.Value = "Twitter DM"
        Case "23": cell.Value = "Twitter favorite"
        Case "33": cell.Value = "Voicemail"
        Case "34": cell.Value = "Phone call (incoming)"
        Case "35": cell.Value = "Phone call (outbound)"
        Case "16": cell.Value = "Get satisfaction"
        Case "17": cell.Value = "Feedback Tab"
        Case "5": cell.Value = "Web service (API)"
        Case "8": cell.Value = "Trigger or automation"
        Case "24": cell.Value = "Forum topic"
        Case "27": cell.Value = "Closed Ticket"
        Case "31": cell.Value = "Ticket sharing"
        Case "38": cell.Value = "Facebook post"
        Case "41": cell.Value = "Facebook private message"
        
        Case Else: cell.Value = cell.Value
        End Select
        Next cell
        compare
End Sub

Sub compare()
    Dim ws As Worksheet
    Dim ws1 As Worksheet
    Dim lrow As Long, lr As Long
    Dim lcol As Long
    Dim z As Long
    Dim rng As Range, cell As Range, r As Range, r2 As Range
    Set ws = Sheets("Current")
    Set ws1 = Sheets("Import")
    lrow = ws.Cells(Cells.Rows.Count, "A").End(xlUp).Row
    lr = ws1.Cells(Cells.Rows.Count, "A").End(xlUp).Row
    lcol = ws.Cells(1, Cells.Columns.Count).End(xlToLeft).Column

    Set rng = ws.Range("A2:A" & lrow)
    Set r = ws1.Range("A2:A" & lrow)
If lrow > 1 Then
    For Each cell In rng
        If Application.WorksheetFunction.CountIf(r, cell.Value) = 1 Then

            Set r2 = r.Find(What:=cell.Value, After:=ws1.Range("A2"), SearchOrder:=xlByRows, SearchDirection:=xlNext)
            z = 2
            Do Until z > lcol

                If cell.Offset(0, z - 1).Value <> ws1.Cells(r2.Row, z) Then
                    cell.Offset(0, z - 1).Value = ws1.Cells(r2.Row, z)
                    cell.Offset(0, z - 1).Interior.ColorIndex = 3
                End If
                z = z + 1
            Loop

        End If

    Next cell
End If
    movedata

End Sub


Sub movedata()

    Dim ws As Worksheet
    Dim ws1 As Worksheet
    Dim lrow As Long, lr As Long

    Dim rng As Range, cell As Range, r As Range, r2 As Range
    Set ws = Sheets("Current")
    Set ws1 = Sheets("Import")

    lrow = ws.Cells(Cells.Rows.Count, "A").End(xlUp).Row
    lr = ws1.Cells(Cells.Rows.Count, "A").End(xlUp).Row

    Set rng = ws.Range("A2:A" & lrow)
    Set r = ws1.Range("A2:A" & lr)
    
     Range("A1").CurrentRegion.AutoFilter 5, "Closed"
        Range("A2").CurrentRegion.Offset(1).Copy Sheets("Closed").Range("A" & Rows.Count).End(xlUp).Offset(1)
        Range("A2").CurrentRegion.EntireRow.Delete

    For Each cell In r

        If Application.WorksheetFunction.CountIf(rng, cell.Value) = 0 Then
            lrow = ws.Cells(Cells.Rows.Count, "A").End(xlUp).Row + 1
            cell.EntireRow.Copy ws.Range("A" & lrow)
        End If
       
    Next cell

 
End Sub

Sub ClearHighlightsMoveClosed()

With Sheets("Current").UsedRange.Offset(1).Interior
        .Pattern = xlNone
        .TintAndShade = 0
        .PatternTintAndShade = 0
    End With
    
    Range("A1").CurrentRegion.AutoFilter 5, "Closed"
        Range("A2").CurrentRegion.Offset(1).Copy Sheets("Closed").Range("A" & Rows.Count).End(xlUp).Offset(1)
        Range("A2").CurrentRegion.EntireRow.Delete

End Sub

Open in new window

AckeemKAsked:
Who is Participating?

[Product update] Infrastructure Analysis Tool is now available with Business Accounts.Learn More

x
I wear a lot of hats...

"The solutions and answers provided on Experts Exchange have been extremely helpful to me over the last few years. I wear a lot of hats - Developer, Database Administrator, Help Desk, etc., so I know a lot of things but not a lot about one thing. Experts Exchange gives me answers from people who do know a lot about one thing, in a easy to use platform." -Todd S.

Martin LissOlder than dirtCommented:
Create a 3rd macro that looks like this and call it instead of the other ones.

Sub DoAll()
Select_File_Or_Files_Mac
ISODateToExcel
EE_ChangeCellValue
EE_ChangeCreateMethod
compare
movedata
ClearHighlightsMoveClosed
End Sub

Open in new window

Experts Exchange Solution brought to you by

Your issues matter to us.

Facing a tech roadblock? Get the help and guidance you need from experienced professionals who care. Ask your question anytime, anywhere, with no hassle.

Start your 7-day free trial
AckeemKAuthor Commented:
So I do not need to include the coding beneath each macro or it knows to call each macro already just by the name?
Martin LissOlder than dirtCommented:
Yes. Some people do Call elect_File_Or_Files_Mac, etc. but the 'Call' is superfluous.
Determine the Perfect Price for Your IT Services

Do you wonder if your IT business is truly profitable or if you should raise your prices? Learn how to calculate your overhead burden with our free interactive tool and use it to determine the right price for your IT services. Download your free eBook now!

Martin LissOlder than dirtCommented:
I just noticed that you will have a small problem with ISODateToExcel because it has in input parameter that's treated like a string so you should
Call ISODateToExcel(???)' where ??? is some string you want passed to it.
AckeemKAuthor Commented:
A little confused with the ISODateToExcel part. The string I would want to pass it to would be within the next macro?
Martin LissOlder than dirtCommented:
In my macro I think I listed the sub-macros in the order in which you posted them. If that's not the correct order then just rearrange them.
Martin LissOlder than dirtCommented:
Glad I could help.
It's more than this solution.Get answers and train to solve all your tech problems - anytime, anywhere.Try it for free Edge Out The Competitionfor your dream job with proven skills and certifications.Get started today Stand Outas the employee with proven skills.Start learning today for free Move Your Career Forwardwith certification training in the latest technologies.Start your trial today
Microsoft Excel

From novice to tech pro — start learning today.