Excelでセルのコンテンツ言語を設定する


4

MS Excelでは、列ごとなどにセルのコンテンツ言語を設定できますか?とりわけ、MS Wordでできるように、コンテンツが多言語(辞書など)のときに適切なスペルチェックを行うことが目的です。

回答:


3

これは、必要に応じて適応できる、手早く汚れたマクロです。現在は、でアメリカ英語で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

1
素敵な答え!よくやった!
ジョエルスポルスキー

それはとても賢いです。+1
ダググランシー

確かに、スペルチェックの問題を解決します。実際にセルの言語を設定するわけではないため、たとえばセルをクリックすると、キーボード設定が言語に合わせて変更される可能性があります。これは質問の背後にある動機の一部でした。
ユッカK.コルペラ

@ JukkaK.Korpelaなるほど。簡単な調査で収集したことから、Excelの言語設定は、スペルチェック辞書を除き、読み取り専用です(つまり、VBAを使用して変更することはできません)。VBscriptを使用してキーボード設定を変更する方法があるかもしれません。その場合、その方法は、SelectionChangeイベントによってそのコードをトリガーすることです。
エクセル

0

はい、できます。以下は、日本語と英語の入力の例です。(許可する日本語入力のタイプに異なる設定を行うことができます。)

[データ]タブの[入力ルール]を使用します。(「オプション」、「言語」、「編集言語」を「日本語」に設定する必要があります)

[データ]タブに移動し、[データツール]グループから[条件付きルール]を選択します。右側に「日本語入力」と呼ばれる新しいタブがあります。1つの列を「オン」に、もう1つの列を「オフ」に設定すれば、準備は完了です。

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
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.