和英併記 ③ Dictionaryで併記
昨日はExcel単語帳から、Findメソッドを用いて表を和英併記化してみた。
infoment.hatenablog.com
今日は、Dictionaryを用いた和英併記化に挑戦する。
折角単語帳があるのだから、ここは辞書(連想配列)で対応したい。
今回の作戦は、こんな感じだ。
- 単語帳で、連想配列作成。
- 表の各単語をループで確認し、単語帳にあれば和英併記化する。
単語帳は、このような構成にしてみた。
・key 日本語
・item 日本語 + 改行 + 英語
Sub Sample() ' 辞書(連想配列)作成。 Dim Dict As Object Set Dict = CreateObject("Scripting.Dictionary") Dim r As Range For Each r In Range("C3:D5").Rows With r.Cells ' 和文と英文を改行で繋いでアイテムとする。 ' キー情報は、.Value省略不可注意。 Dict(.Item(1).Value) = .Item(1) & vbNewLine & .Item(2) End With Next ' 和英併記にする範囲。 Dim TableRange As Range Set TableRange = Range("A3:A6") ' 表の各値を確認。 For Each r In TableRange ' 辞書に存在する単語ならば、和英併記に置き換え。 If Dict.Exists(r.Value) Then r = Dict(r.Value) Else r = r & vbNewLine & "単語帳に無し" End If Next End Sub
結果は、昨日と同じ。
個人的には、Findより、こちらの方が好みだ(単なる好みの話)。
明日に続きます。
参考まで。