在 Excel 中设置单元格的内容语言

在 Excel 中设置单元格的内容语言

在 MS Excel 中,是否可以设置单元格内容语言(例如每列)?目的之一是,当内容是多语言(例如字典)时,进行正确的拼写检查,就像我们在 MS Word 中所做的那样。

答案1

这是一个快速而粗略的宏,希望您可以根据自己的需求进行调整。现在,它将在 上运行美式英语拼写检查Column A,然后在 上运行墨西哥西班牙语拼写检查Column B。您可以找到受支持语言的代码这里

Sub multilanguageSC()
Dim rngEng As Range, rngSpa As Range

'Set ranges to check for each language.
Set rngEng = ActiveSheet.Range("A:A")
Set rngSpa = ActiveSheet.Range("B:B")

'Set spelling dictionary language to English (US).
Application.SpellingOptions.DictLang = 1033
'Check spelling for designated English range.
rngEng.CheckSpelling

'Set spelling dictionary language to Spanish(Mexico).
Application.SpellingOptions.DictLang = 2058
'Check spelling for designated Spanish range.
rngSpa.CheckSpelling

'Set spelling dictionary back to default setting.
Application.SpellingOptions.DictLang = Application.LanguageSettings.LanguageID(msoLanguageIDUI)

End Sub

答案2

是的,可以做到。以下是日语和英语输入的示例。(您可以针对要允许的日语输入类型进行不同的设置。)

我使用“数据”选项卡上的“输入规则”。(我必须将“选项”、“语言”、“编辑语言”设置为“日语”)

只需转到“数据”选项卡,然后从“数据工具”组中选择“条件规则”。现在右侧会有一个名为“日语输入”的新选项卡。将一列设置为“开”,另一列设置为“关”,即可开始。

看起来它们也可以用 VB 完成。不过不确定单元格范围。

Sub Cond()
'
' Cond Macro
'

'
    With Selection.Validation
        .Delete
        .Add Type:=xlValidateInputOnly, AlertStyle:=xlValidAlertStop, Operator _
        :=xlBetween
        .IgnoreBlank = True
        .InCellDropdown = True
        .InputTitle = ""
        .ErrorTitle = ""
        .InputMessage = ""
        .ErrorMessage = ""
        .IMEMode = xlIMEModeOn
        .ShowInput = True
        .ShowError = True
    End With
End Sub

相关内容