我正在尝试创建一个仅对特定单元格进行拼写检查的宏。我已经成功地对单元格进行了拼写检查,但是由于某种原因,拼写检查向导随后继续运行,并尝试检查电子表格上的所有文本框。
下面是代码:
Range(“C8”).Select
Selection.CheckSpelling SpellLang:=1034
使用建议更新代码,但是该代码仍在拼写检查文本框:
Dim ws As Worksheet
Set ws = Worksheets("Sheet1")
Const dummyCell = "Z999" 'address of an empty cell
Dim cellsToCheck As Range
Set cellsToCheck = ws.Range("C8")
Union(Range(dummyCell), cellsToCheck).CheckSpelling
我循环浏览,并且正在拼写检查文本框之前在“ CellsToCheck”中指定的实际范围。
答案 0 :(得分:1)
如果要以编程方式检查单个单元格上的拼写,并且不希望显示“拼写”对话框,则可以使用 CheckSpelling
方法,因为该方法适用于{{1} }对象。
Application
如果您确实希望显示“拼写检查”对话框,但只想检查一个单元格,则需要“欺骗Excel”。 Excel旨在,如果您只选择了一个单元格,则假定您实际上要检查整个工作表。
Sub checkSpelling_NoDialog()
Dim correctlySpelled As Boolean, textToCheck As String
textToCheck = Range("A1")
correctlySpelled = Application.checkSpelling(textToCheck)
If Not correctlySpelled Then
MsgBox "Incorrect Spelling of: " & textToCheck
Else
MsgBox "Correct Spelling of: " & textToCheck
End If
End Sub
here和here概述了有关Sub checkSpelling_WithDialog()
Const dummyCell = "Z999" 'address of an empty cell
Dim cellsToCheck As Range
Set cellsToCheck = Range("A1")
Union(Range(dummyCell), cellsToCheck).checkSpelling
End Sub
方法的更多信息。