- ベストアンサー
エクセルでひらがな全角~カナ半角の相互への置換方法について
- みんなの回答 (6)
- 専門家の回答
質問者が選んだベストアンサー
これはユーザ関数でないとできないと思います。以下のマクロをALT+F11でVBE画面を開き、左上のVBA Projectでシート名を右クリックし「挿入」→「標準モジュール」で表示される画面に貼り付けて下さい シートでこのように式として使用します =KtoH(A1) 半角カタカナ→(全角)ひらがな =HtoK(A1) (全角)ひらがな→半角カタカナ Function HtoK(ByVal trg As Range) As String HtoK = StrConv(trg.Value, vbKatakana) HtoK = StrConv(HtoK, vbNarrow) End Function Function KtoH(ByVal trg As Range) As String KtoH = StrConv(trg.Value, vbWide) KtoH = StrConv(KtoH, vbHiragana) End Function
その他の回答 (5)
- imogasi
- ベストアンサー率27% (4737/17068)
前半は前の質問に答えてしまった。そちらを見てください。 後半は、VBEの標準モジュールに Function wd(a) wd = StrConv(StrConv(a, vbKatakana), vbWide) End Function で同じ例で ハンナリ ハンナリ ハンナリ ハンナリ オカユガクイタイ オカユガクイタイ カンガエルトワカラナイ カンガエルトワカラナイ
お礼
ご丁寧にすみません。 私が質問した時点では、まだimogasi様の回答を見ていない段階でしたので、二重の質問をしてしまいました。 大変参考になりました。 ありがとうこざいました。
- Wendy02
- ベストアンサー率57% (3570/6232)
こんばんは。 回答ではないのですが、数字やアルファベットと混じったものの中から、それだけを取り出して「ひらがな全角~カナ半角 」相互置換だとしたら、もっと難しいマクロか、ユーザー定義関数になるはずですね。 それは、どうなんでしょうか?
お礼
私が知らない方法で、もっと簡単な方法があるのではと思いましたが、マクロか、ユーザー定義関数が必要なのですね。 一般的には使わない機能だからでしょうね。 ご親切にありがとうございました。
- ham_kamo
- ベストアンサー率55% (659/1197)
A1に文字が入っており、B1に変換結果を表示するとすると、 =PHONETIC(A1) とB1に入力し、A1セルを選択して「書式」>「ふりがな」>「設定」を選択し、「ひらがな」を選択するとB1の文字が全角ひらがなに、「半角カタカナ」を選択すると半角カタカナになります。 ただし、PHONETIC()関数はもともとふりがなを取得する関数なので、文字列に漢字が含まれていると、かなに変換されてしまいます。その場合はこの方法は使えないので、マクロを使います。 マクロで変換する方法ですが、Alt+F11でVBAの画面を開き、「挿入」>「標準モジュール」を選択して、右の画面に以下のマクロをコピーして貼り付けてください。 Sub 全角ひらがなに変換() Dim r As Range For Each r In Selection r.Value = StrConv(r.Value, vbWide + vbHiragana) Next End Sub Sub 半角カタカナに変換() Dim r As Range For Each r In Selection r.Value = StrConv(r.Value, vbNarrow + vbKatakana) Next End Sub VBAの画面を閉じ、Alt+F8からマクロを実行すると、選択されたセルの文字列がカタカナ半角/ひらがな全角へそれぞれ変換されます。
お礼
すごい。完璧ですね。 私も、昨晩、布団の中で、「=PHONETIC関数を使えばいいかも!」と思いつき、すぐに「漢字 かな交じり だったら漢字もカナになっちゃうからダメだ」とゲンナリしてしまいました。 すばらしいVBAコードを教えていただいてありがとうございました。
- F_PAPA
- ベストアンサー率40% (8/20)
JIS関数や ASC関数は、カタカナ→カタカナやその逆はできますが、 かたかな→カタカナ は出来ません。 ctrl+Hキーで一文字ずつ「あ」→「ア」とかやっていかないとだめかな???
お礼
ctrl+Hキーというのは知りませんでした。 勉強になりました。 ありがとうございました。
- nobu555
- ベストアンサー率45% (158/345)
数件前に同じような質問がありますけど。 http://oshiete1.goo.ne.jp/qa2788626.html
お礼
はい。実は、その質問を見て、自分なりの疑問を改めて質問させていただきました。 ASC や JIS 関数は知っていたのですが、ひらがな全角文字からカタカナ半角文字への置換を簡単にできる方法は知らないなーと思い、質問しました。 http://oshiete1.goo.ne.jp/qa2788626.html では、imogasi様がVBAもしくはユーザー関数を作るとお答えになっているので、分かりましたが、私が質問した時点では、その回答は寄せられていない段階でしたので、質問させていただきました。 もし、nobu555様が良い方法をご存知でしたら、ご教示ください。 よろしくお願いします。
関連するQ&A
- エクセルで全角~半角の相互への置換方法について
エクセルの文字列の置換ですが、 全角文字から半角文字への置換。 また、その逆に半角から全角への置換。 方法があれば教えてください!
- 締切済み
- オフィス系ソフト
- カナを置換することはできますか?
はじめまして。MS Office初心者です。よろしくお願いします。 Excel2007でデータの置換をしたいのですが、 文字でなく、 全角カタカナを半角カタカナに置換することはできますか? 文字はそれぞれ違うのですが・・・ やはり文字列でないと置換できないでしょうか?
- ベストアンサー
- その他MS Office製品
- 半角/全角を押してもひらがなになりません
今まで半角/全角ボタンを押せばひらがな表示ローマ字打ちでひらがな表示ができたのですが、突然できなくなりました 直前にやったのはIMEの設定でF5を消した事ですが、どうやれば元の半角/全角ボタンを押せばひらがな表示に戻るのでしょうか? 一応現状ではひらがなカタカナボタンを押せばひらがな表示できますが、慣れ親しんだ方法に戻したいです
- ベストアンサー
- Windows Vista
- エクセルでひらがな・漢字はそのままでカタカナを全角・英数字を半角にする方法
エクセル2000を使っています。 会社で住所録作成を引き継ぎましたが、 一つのセルにひらがな、漢字、カタカナ、英数字 が半角・全角ごちゃ混ぜで入っているので 管理がしづらくて困っています。 例えば、 あいうアジアNET株式会社 株式会社ABC123 などなど・・・・ ひらがな・漢字はそのままで、 カタカナを全角、英数字を半角にする方法は ありませんか? 最初にASC関数を使ってみたらカタカナも半角になり、 Phonetic関数を使うと、 カタカナだけ全角になりましたが、 ひらがなまでカタカナになり・・・ JIS関数も試しましたが今度は英数字まで全角になり、 どうしたものかと困っております。 よろしくお願いします。
- ベストアンサー
- オフィス系ソフト
- Excel2000で置換>全角数字を半角数字へ
表記置換方法についてご教授ください。 ある列に文字列と全角数字が混在したセルが数百行あります これを半角数字に置換したいのですが希望通りにできません。よい方法をご存知の方ご教授願います 変換した内容 (TEL)03-9999-9999 ⇒ 03-9999-9999 半角 全角数字(実際には電話番号) 半角数字 やったこと 置換機能にてまず行頭の(TEL) を削除 置換にて0(全角)→0(半角) これを0~9まで10回繰り返し これを一度の置換で実行させたい 置換前の文字指定と置換後の文字を正しく指定する方法はないでしょうか?
- ベストアンサー
- オフィス系ソフト
- Word2002 半角数字、半角英字、全角数字、全角英字を別々に検索及び置換する方法?
Word2002を使用しています。 その1: そこで、半角数字、半角英字、全角数字、全角英字を別々に検索する方法を知りたいです。VBAなどのプログラミングは使用したくありませ ん。例えば、半角数字のみを検索する(該当文字を強調する。)。 検索のみで、この段階では置換しません。 その2: 上記で見つかった半角文字を全角へ(又はその逆で全角文字を半角文字へ)置換する方法を教えて下さい。 よろしくお願いします。
- ベストアンサー
- オフィス系ソフト
- 半角カタカナを全角ひらがなにしたい
EXCEL2003です。 よろしくお願いします。 今c1~c200に半角のカタカナで人のふりがなが入っています。 これをC1~C200のところに全角ひらがなに直す方法は ありますか。 どのようにしたらよいのか教えてよろしくお願いします。 全角ひらがなにする場所はD1~D200でも構いません。
- ベストアンサー
- オフィス系ソフト
お礼
ユーザ関数は存在は知っていたのですが、まったく使ったことは無かったです。 この場合は、ユーザー定義関数がもっとも便利な気がします。 ありがとうございました。