• ベストアンサー

「Ms-Excel」の関数「UボードのUのみを半角にしたい」についての質問

Uボード を ASC(A1) を使って変換するとボードまで半角になってしまいました。Uのみのを半角にする関数を教えてください。 宜しくお願い致します。

質問者が選んだベストアンサー

  • ベストアンサー
  • KenKen_SP
  • ベストアンサー率62% (785/1258)
回答No.3

こんにちは。 英数字だけの半角化は、結構需要があると思います。しかし、標準の操作、関数ではできないんです。 以下のコード(無駄が多くてお見苦しいのですが)は、以前私が作成した自作関数(EXCEL2000以上)です。 英数字のみを半角化します。オプションで半角化できる記号も半角化します。 使い方は、標準モジュールに貼り付けて使用します。そして、普通の関数のように、 =英数字半角化(A1,True,True) とセルに書きます。 '*************************************************************** ' カタカナを除く、英数字や記号の半角化関数 ' 引数:対象 文字列(複数セルを指定するとエラーになる) ' 引数:数字 数字半角化オプション(True / False) 規定値:True ' 引数:記号 記号半角化オプション(True / False) 規定値:False '*************************************************************** Function 英数字半角化(対象 As String, _   Optional 数字 As Boolean = True, _   Optional 記号 As Boolean = False)   Dim BUF, MAK, NUM, ALB   Dim i As Long   '半角化対象文字定義   MAK = Split("!,#,$,%,&,',(,),*,+,-,.,/,:,;,<,=,>,?,@,[,\,],^,_,{,|,},。,、,,", ",")   NUM = Split("1,2,3,4,5,6,7,8,9,0", ",")   ALB = Split("A,B,C,D,E,F,G,H,I,J,K,L,M,N,O,P,Q,R,S,T,U,V,W,X,Y,Z", ",")   '大文字アルファベット置換   For i = 0 To UBound(ALB)     対象 = Replace(対象, ALB(i), StrConv(ALB(i), vbNarrow))   Next i   '小文字アルファベット置換   For i = 0 To UBound(ALB)     対象 = Replace(対象, StrConv(ALB(i), vbLowerCase), StrConv(StrConv(ALB(i), vbLowerCase), vbNarrow))   Next i   '数字置換   If 数字 Then     For i = 0 To UBound(NUM)       対象 = Replace(対象, NUM(i), StrConv(NUM(i), vbNarrow))     Next i   End If   '記号置換   If 記号 Then     For i = 0 To UBound(MAK)       対象 = Replace(対象, MAK(i), StrConv(MAK(i), vbNarrow))     Next i     対象 = Replace(対象, Chr(-32408), Chr(34)) ' ”の置換   End If   英数字半角化 = 対象 End Function

tihiro_t
質問者

お礼

おぉーーーすごい!! ぜひ、使わせていただきます。 ありがとうございます!!!!!!!

その他の回答 (2)

  • dejiji-
  • ベストアンサー率38% (327/858)
回答No.2

編集→置換で「U」のみ半角に置換では駄目ですか。 検索する文字列に全角のU、置換後の文字列に半角のU

  • mshr1962
  • ベストアンサー率39% (7417/18945)
回答No.1

=SUBSTITUTE(A1,"U","U") なら可能ですが、別のアルファベットには対応しません。 マクロを組むか、下記のようなフリーソフトをご利用ください。 http://www.forest.impress.co.jp/article/2004/02/19/luckystar.html http://www.vector.co.jp/soft/dl/win95/business/se275904.html

関連するQ&A

専門家に質問してみよう