Ошибка компиляции: не удается найти проект или библиотеку (OSX)

У меня возникла небольшая проблема с совместимостью моих макросов с OSX, где он работает в Windows.

У меня есть следующая проблема:

Ошибка компиляции: не удается найти ошибку проекта или библиотеки при запуске макроса в Office 2016 на компьютере MAC

Код / функция используется для изменения определенных диапазонов на верхний регистр / правильный регистр. Основные моменты отладчика "UCase(Cell)" а также "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

Я заметил, что некоторые библиотеки отсутствуют в Excel 2016 для OSX, и я знаю, что MS исключила многие библиотеки из Excel для OSX.

Любой совет по этому поводу был бы просто великолепен.

1 ответ

Решение

Можете ли вы попытаться избежать использования свойств по умолчанию Range объект - они могут отличаться между Windows и OSX:

Итак, вместо:

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

Можете ли вы просто попробовать:

If Application.IsText(Cell.Value) Then
    Cell.Value = UCase(Cell.Value)
End If
Другие вопросы по тегам