Использование всех символов в Excel VBA

Это должно использовать каждый символ, но я получаю type mismatch ошибка. Он отлично работает для других таблиц, которые имеют аналогичные данные, но ни по какой причине не дают ошибку несоответствия. Пожалуйста помоги

Private Sub allUpper(ByRef sh As Worksheet)
        Dim arr As Variant, i As Long, j As Long

        If WorksheetFunction.CountA(sh.UsedRange) > 0 Then
            arr = sh.UsedRange  'one interaction with the sheet
            For i = 2 To UBound(arr, 1)         'each "row"
                For j = 1 To UBound(arr, 2)     'each "col"
                    arr(i, j) = UCase(RTrim(Replace(arr(i, j), Chr(10), vbNullString)))
                Next
            Next
            sh.UsedRange = arr  'second interaction with the sheet
        End If
    End Sub

1 ответ

У вас наверное ошибка (#N/Aи т. д.) где-то в ваших данных.

Вы можете добавить проверку для этого, чтобы предотвратить ошибку времени выполнения:

If Not IsError(arr(i, j)) Then
    arr(i, j) = UCase(RTrim(Replace(arr(i, j), Chr(10), vbNullString)))
End If
Другие вопросы по тегам