我正在尝试创建一个仅对特定单元格进行拼写检查的宏。我已成功对单元格进行拼写检查,但由于某种原因,拼写检查向导随后继续运行,并尝试检查电子表格上的任何文本框。
下面是代码:
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
我循环浏览,它正在对文本框进行拼写检查before“CellsToCheck”中指定的实际范围。
以编程方式检查单个单元格的拼写without对话框
如果您想以编程方式检查单个单元格上的拼写,并且不希望显示“拼写检查”对话框,则可以使用the CheckSpelling
方法,因为它适用于Application
object.
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
以编程方式检查单个单元格的拼写with对话框
如果您确实希望显示“拼写检查”对话框,但只想检查一个单元格,则需要“欺骗 Excel”。 Excel 的设计初衷是,如果您只选择了一个单元格,则假定您实际上想要检查整个工作表。
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
更多信息请参阅CheckSpelling
方法已概述here https://msdn.microsoft.com/library/aa223822.aspx#Anchor_0 and here https://msdn.microsoft.com/vba/excel-vba/articles/application-checkspelling-method-excel.
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)