
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
No.1
- 回答日時:
=SUBSTITUTE(A1,"U","U")
なら可能ですが、別のアルファベットには対応しません。
マクロを組むか、下記のようなフリーソフトをご利用ください。
http://www.forest.impress.co.jp/article/2004/02/ …
http://www.vector.co.jp/soft/dl/win95/business/s …
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
このQ&Aを見た人はこんなQ&Aも見ています
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
Word文書、取り消し線部分の一...
-
エクセルでシートにある赤文字...
-
Excelからワード文書の文字置換...
-
Word相互参照の文字を一括で変...
-
ワードの表の中の値の表示形式...
-
箇条書きのアタマに一括で「・...
-
ワードである言葉を打つと自動...
-
WORDの文字をマクロで色替...
-
同じ文字
-
Word2000で括弧の中の文字だけ...
-
word である文字をすべてイタリ...
-
ワードのフィールドの解除を一...
-
あるWordの文章中に二重下線が...
-
オラクルの関数で項目のすべて...
-
Wordで【相互参照】で挿入した...
-
テキストボックス一括編集
-
エクセルで、コンマをピリオド...
-
Wordで漢字とひらがなのフォン...
-
Wordでカッコで括った文字を一...
-
ワードで赤字のみを削除する方法
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
Word文書、取り消し線部分の一...
-
Wordでカッコで括った文字を一...
-
Word相互参照の文字を一括で変...
-
箇条書きのアタマに一括で「・...
-
ワードで赤字のみを削除する方法
-
エクセルでシートにある赤文字...
-
ワードの表の中の値の表示形式...
-
ワードで太字になっているとこ...
-
excelマクロ ボタンを押して文...
-
word である文字をすべてイタリ...
-
Wordデータから,特定の単語を...
-
Excelの表中,数字の「1」をす...
-
「WORD」での作業 日本語・英...
-
word 2003で、赤い文字(あるい...
-
ワードで半角英数の文字だけ選...
-
Word2000で括弧の中の文字だけ...
-
ワードの表への入力について
-
ワードである言葉を打つと自動...
-
セルの中の不要な文字を削除し...
-
同じ文字
おすすめ情報