单元格上的Application.CheckSpelling失败> 255个字符

时间:2015-01-27 21:36:55

标签: excel vba excel-vba

我试图编写一个宏来突出显示e5:e20000范围内有拼写错误的任何单元格。我得到一个"运行时错误113"每次我按下一个超过255个字符的单元格。我尝试添加一个条件来跳过+255个char单元格,但它并没有真正起作用。

理想情况下,无论字符数是多少,我都希望包含所有单元格。 有什么建议?谢谢!

Sub Cellswithtypos()
For Each cl In ActiveSheet.UsedRange.Range("E5:E20000").Cells
    If Len(cl.Value) <= 255 And Not Application.CheckSpelling(Word:=cl.Text) Then _
cl.Interior.ColorIndex = 18
Next cl
End Sub

1 个答案:

答案 0 :(得分:1)

您必须先嵌套以检查单元格的长度。我还添加了一个空白单元格的检查,以便您可以绕过空白(应该加快代码)。

Sub Cellswithtypos()
For Each cl In ActiveSheet.UsedRange.Range("E5:E20000").Cells
    If Len(cl.Value) <= 255 And Len(cl.Value) > 0 Then
        If Not Application.CheckSpelling(Word:=cl.Text) Then
            cl.Interior.ColorIndex = 18
        End If
    End If
Next cl
End Sub