山本ワールド
Windowsプログラミング
アルゴリズム Vitual C++ 2008/2013によるWin32/Win64 APIレベルのプログラム 基礎 Vitual C++ 2008/2013によるAPIレベルのプログラム(32/64bit) Wix3でインストーラーを作る Visual C++ 2008 Standard Editonによるフォームアプリケーションのプログラム(32/64bit) Vitual C++ 2008 Standard EditonによるAPIレベルのプログラム(32/64bit) Windows 7対応 Visual C++ 2008 ExpressによるAPIレベルのプログラム Visual C++ 2005 ExpressによるAPIレベルのプログラム Visual C++ Versiosn 5 BORLAND C++ Windowsプログラム全般 Excel VBA その他半角カタカナを全角カタカナへ変換する(VBA,ユーザー定義関数)
半角カタカナを全角カタカナへ変換する(VBA,ユーザー定義関数) 2013/05/12
セルの文字列のうち半角カタカナのみ全角カタカナに変換する必要に迫られたため、VBAによりユーザー定義関数を作成してみました。
半角カタカナでは濁音・半濁音は例えば「ぱ」は「は」と「゜」の2文字で表現されますが、全角では「ぱ」の一文字となります。本VBAソースでは、半角をすべて全角に変換(StrConv関数)することにより、濁音・半濁音を処理しています。数字、アルファベットは、半角へ再度変換(StrConv)します。動作は変換例を参考にしてください。
Excel 2002,2007,2010で動作を確認しました
使用方法
下記のソースコードを拡張子basというファイルとして保存し、Visual Basicエディタを開き保存したファイルをインポートします。a1セルの文字列を変換し、b1セルに =han2zen(a1) と入力します。マクロは有効にしておいてください。
VBAソースコード
' 半角カタカナを全角カタカナに変換 ' 数字・アルファベットは半角に変換 ' ' Copyright 2013/04/24 by Yamamoto Function han2zen(src As String) Dim l As Integer Dim dtc As String Dim c As String Dim n As Integer ' 半角をすべて全角に変換する s = StrConv(src, vbWide) l = Len(s) For n = 1 To l c = Mid(s, n, 1) code = Asc(c) ' ぁの文字コード以下の文字は半角に変換 If code < Asc("ぁ") Then c = StrConv(c, vbNarrow) End If dtc = dtc & c Next n han22zen = dtc End Function
変換例(半角カタカナを全角カタカナへ変換する) 2013/05/12
変換元 | 変換後 |
≧ | ≧ |
∞ | ∞ |
ア | ア |
パ | パ |
ギャ | ギャ |
ギャ | ギャ |
′ | ′ |
″ | ″ |
℃ | ℃ |
¥ | \ |
$ | $ |
¢ | ¢ |
〒 | 〒 |
% | % |
# | # |
㍑ | ㍑ |
α | α |
ABC | ABC |
ABC 1 231 | ABC 1 231 |
_ | _ |
ひらがな | ひらがな |
ヒラガナ | ヒラガナ |
漢字123ひらがな | 漢字123ひらがな |
◎ | ◎ |
◇ | ◇ |
αζ | αζ |
ヒラガナ | ヒラガナ |
, | , |
◆ | ◆ |
□ | □ |
■ | ■ |
△ | △ |
▲ | ▲ |
▽ | ▽ |
▼ | ▼ |
※ | ※ |
〒 | 〒 |
→ | → |
← | ← |
↑ | ↑ |
↓ | ↓ |
〓 | 〓 |
>= | >= |
<= | <= |
* | * |
∈ | ∈ |
∋ | ∋ |
⊆ | ⊆ |
⊇ | ⊇ |
⊂ | ⊂ |
⊃ | ⊃ |
∪ | ∪ |
∩ | ∩ |
∧ | ∧ |
∨ | ∨ |
¬ | ¬ |
⇒ | ⇒ |
⇔ | ⇔ |
∀ | ∀ |
∃ | ∃ |
∠ | ∠ |
⊥ | ⊥ |
⌒ | ⌒ |
∂ | ∂ |
∇ | ∇ |
≡ | ≡ |
≒ | ≒ |
≪ | ≪ |
≫ | ≫ |
√ | √ |
∽ | ∽ |
∝ | ∝ |
∵ | ∵ |
∫ | ∫ |
∬ | ∬ |
Å | Å |
‰ | ‰ |
♯ | ♯ |
♭ | ♭ |
♪ | ♪ |
† | † |
‡ | ‡ |
¶ | ¶ |
Copyright (C) 2012 山本ワールド All Rights Reserved.