非表示にできる< 目次 >
はじめに
はじめまして。Nakamura(nkmr)です。
普段は、「EXCEL VBA」に関する記事 や 「色々なインプット経験」を記事にしているアラサーサラリーマンです。
過去記事には、以下のようなものがございますので、よろしければどうぞ。
本記事で出来ること
さて、先日、嫁から「EXCEL内の文字列をひらがなにする方法って無いの?」と聞かれ、
そういえば 文字列変換系はあまりやってこなかったなぁー、と思い作成してみました。
ポイント
- EXCEL VBAで「文字列をひらがな」にすることが出来る
やっつけで作ってますが、正常に ひらがな化 できているので嫁の職場では何かと重宝されているみたいです。
コードの紹介
さっそくコードを紹介します。
解説はコード内のコメントを参照いただければと思います。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 |
Sub ひらがな化() Dim moji As String Dim lastgyou As Long 'A列の最終行を取得する(鉄板コード) lastgyou = Cells(Rows.Count, 1).End(xlUp).Row For i = 0 To lastgyou - 1 'Aセルの漢字を moji に代入 moji = ThisWorkbook.ActiveSheet.Cells(1 + i, 1) 'GetPhonicは漢字→カタカナに変換してくれる moji = Application.GetPhonetic(moji) 'StrConvは StringConversion(文字変換)の略。 moji = StrConv(moji, vbHiragana) 'ひらがなを入れたmojiをAセルに入れる ThisWorkbook.Cells(1 + i, 2) = moji Next End Sub |
もし For Next 構文が分からない方は、こちらの記事を参照ください(5分くらいで読み終えることができると思います)
-
【解説付】VBA-For Next の使い方を説明-簡単理解【EXCEL VBA】
続きを見る
このコードのポイント
いったん「漢字→カタカナ」変換しているところですかね。
例えばですが、こんな名前の人がいたとします。
- 田中太郎
- 鈴木ささら
- ジョンソン
それを Application.GetPhonetic してあげると
- タナカタロウ
- スズキササラ
- ジョンソン
と いったんすべてが カタカナになります。
すべてカタカナになっていれば、あとは簡単で、
StrConv(文字列, vbHiragana) で ひらがな化ができるというシンプル設計。
このコードの注意点
これは想定している注意点となりますが、
漢字→ カタカナにする過程で、想定と違う変換がされる可能性はあります。
例
例)田中騎士 で タナカナイト と自動変換したい。
→ 〇:タナカキシ と出力される。
→ ✖:タナカナイト とは出力されない。
こればかりは、変な読み方をしない名前であることを祈るか、
出力後のデータで「きし」→「ないと」と自動変換してくれる replace をVBAを組むしかないのかな?と思ったり。
終わりに(編集後記)
ここまでお読みいただいてありがとうございます。
↑ の画像は、北海道へ1人旅をした時の「天に続く道」です。網走↔知床のちょうど中間くらいにあります。
たまに 1人旅もしていますので、よろしければ こちらの記事もご覧くださいませ。
-
【北海道】嫁を置いて一人旅-0日目【準備の話】
続きを見る
-
【北海道】嫁を置いて一人旅-1日目【レビュー】
続きを見る
-
【北海道】嫁を置いて一人旅-2日目【レビュー】
続きを見る
-
【北海道】嫁を置いて一人旅-3日目【レビュー】
続きを見る
-
【北海道】嫁を置いて一人旅-4日目【レビュー】
続きを見る
また、筆者は Twitterも行っているため、フォローしてくれると嬉しいです。(更新頻度が かなり低いですが。)
たまに、VBAとかDOMの有益な情報が…発信できたら良いな、と思ったまま、あまり活用できてませんが。
Twitterアカウントは 「nkmr_dai」となります。
↓のボタンからもフォローできます。
末筆とはなりますが、ここまでの長文を読んでいただきありがとうございました。
細々とはなりますが、引き続き ブログ更新していきますので、
引き続き NakamuraBlog(ナカログ)をよろしくお願いいたします。
でわでわ。