Использование всех символов в 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