Compile error: Can't find project or library (OSX)

1.7k views Asked by At

I've run into a bit of a problem with making my macros compatible with OSX where it works on windows.

I have the following issue:

Compile error: Can't find project or library error when running the macro on Office 2016 on a MAC

The code/ function is used to change specific ranges to Upper Case / Proper case. The debugger highlights "UCase(Cell)" and "Cell"

Sub ChkSheet()
'=========================================================================
' Format the cell boarders when the info needs to be corrected or updated
'=========================================================================
Dim historyWks As Worksheet
Set historyWks = Worksheets("Namelist")
Dim lRow As Long
Dim emailRng As Range
Dim Cell As Range

With historyWks

' Flags cells where the Email fieldcontains invalid characters
lRow = Range("G" & Rows.Count).End(xlUp).Row
Set emailRng = Range("Q2:Q" & lRow)

    For Each Cell In emailRng
        If Cell.Value = "," _
            Or Cell.Value = " " _
            Or Cell.Value = "wd" _
            Or Cell.Value = "" _
            Or Cell.Find("@") Is Nothing Then
            Cell.Interior.Color = vbRed

            Else:
            Cell.Interior.ColorIndex = 0

        End If
    Next

     'Change the text case
    With Application
        .ScreenUpdating = False
        .EnableEvents = False
    End With

        For Each Cell In Range("NListUpper")
        Select Case True
        Case Application.IsText(Cell) = True
            Cell = UCase(Cell)
        End Select
    Next Cell
    With Application
        .ScreenUpdating = True
        .EnableEvents = True
    End With

     'Change the case to proper
    With Application
        .ScreenUpdating = False
        .EnableEvents = False
    End With
    For Each Cell In Range("NListProp")
        Select Case True
        Case Application.IsText(Cell) = True
            Cell = StrConv(Cell, vbProperCase)
        End Select
    Next Cell
    With Application
        .ScreenUpdating = True
        .EnableEvents = True
    End With

 End With

End Sub

I've noticed that some libraries are missing on Excel 2016 on OSX and i'm aware that MS has dropped many libraries out of Excel for OSX.

Any advice on this would be just great.

1

There are 1 answers

4
Robin Mackenzie On BEST ANSWER

Can you try avoiding using default properties of the Range object - they might differ between Windows and OSX:

So, instead of:

Select Case True
    Case Application.IsText(Cell) = True
        Cell = UCase(Cell)
End Select

Can you just try:

If Application.IsText(Cell.Value) Then
    Cell.Value = UCase(Cell.Value)
End If