- 2006-12-28 Thu 17:07:09
- VBA共通
文字列データに混ざっている半角カタカナを全角カタカナに変更するユーザー定義関数のサンプル。
カタカナだけが対象なのでアルファベットや記号は変更されない。
本当は、アルファベット、数値、記号は、全部半角、カタカナは全角に一気に直してくれる関数がほしい。
と言う訳で、この記事を作成した後に全角/半角を一気に直すユーザー定義関数を作りました。
カタカナだけでなくアルファベットも記号も全部変換したい場合は、以下の記事を参考。
「VBA:半角カタカナを全角、全角英数、記号を半角に変換するユーザー定義関数」
以下に半角カタカナを全角カタカナに変更するユーザー定義関数のサンプルプログラムを記述する。
カタカナだけが対象なのでアルファベットや記号は変更されない。
本当は、アルファベット、数値、記号は、全部半角、カタカナは全角に一気に直してくれる関数がほしい。
と言う訳で、この記事を作成した後に全角/半角を一気に直すユーザー定義関数を作りました。
カタカナだけでなくアルファベットも記号も全部変換したい場合は、以下の記事を参考。
「VBA:半角カタカナを全角、全角英数、記号を半角に変換するユーザー定義関数」
以下に半角カタカナを全角カタカナに変更するユーザー定義関数のサンプルプログラムを記述する。
スポンサードリンク
Public Function SBCStoDBCS(S As String) As String Dim strTemp As String, S1 As String, S2 As String Dim sWide As String strTemp = S Do While Len(strTemp) > 0 S1 = Left(strTemp, 1) If Asc(S1) >= 161 And Asc(S1) <= 221 Then If Len(strTemp) > 1 Then S2 = Mid(strTemp, 2, 1) If Asc(S2) = 222 Or Asc(S2) = 223 Then S1 = Left(strTemp, 2) strTemp = Right(strTemp, Len(strTemp) - 1) End If End If S1 = StrConv(S1, vbWide) End If sWide = sWide & S1 strTemp = Right(strTemp, Len(strTemp) - 1) Loop SBCStoDBCS = sWide End Function使い方:フィールドのデータを使用する場合
SBCStoDBCS([フィールド名])
スポンサードリンク
- Newer: MySQL:AccessからODBCドライバ経由でリンクしたMySQLのテーブルのデータ(日本語)が文字化けする際の回避方法
- Older: VB.NET:データグリッドビューでカレントセルの位置をプログラムで変更するサンプル
Comments: 0
Trackback+Pingback: 0
- TrackBack URL for this entry
- http://billyboy.blog81.fc2.com/tb.php/68-fc448079
- Listed below are links to weblogs that reference
- VBA:データに混ざっている半角カタカナを全角カタカナに変更するユーザー定義関数 from Excel、Access、VBA、ORACLE、iPhone、Android、その他覚書 - My Knowledge Base -