MS Excelでは、列ごとなどにセルのコンテンツ言語を設定できますか?とりわけ、MS Wordでできるように、コンテンツが多言語(辞書など)のときに適切なスペルチェックを行うことが目的です。
MS Excelでは、列ごとなどにセルのコンテンツ言語を設定できますか?とりわけ、MS Wordでできるように、コンテンツが多言語(辞書など)のときに適切なスペルチェックを行うことが目的です。
回答:
これは、必要に応じて適応できる、手早く汚れたマクロです。現在は、でアメリカ英語で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つの列を「オフ」に設定すれば、準備は完了です。
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