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で質問しましょう!
似たような質問が見つかりました
- その他(Microsoft Office) 英数字のみ全角から半角に変換 4 2023/07/28 14:48
- その他(Microsoft Office) WordやExcelで英数字のみ半角または全角にしたい 6 2022/08/03 08:18
- 工学 制御工学の問題です。 3 2023/01/14 22:54
- Excel(エクセル) 全角文字「ヴ」の半角文字「ヴ」への変換方法について 3 2022/11/05 12:07
- 工学 制御工学の問題です。 1 2023/01/18 16:06
- Visual Basic(VBA) 特定の文字を簡単な操作で半角スペースに変換するか削除したい 2 2022/11/01 10:35
- Excel(エクセル) capeofdragonと申します Excel2016を使っておりまして 半角又は全角の任意文字列が 2 2022/10/31 13:51
- Excel(エクセル) エクセルでのデータの統一に関して リストを作成する際、元データをコピペでリストに転記しており、元デー 2 2022/08/31 15:33
- Excel(エクセル) エクセルシート中の全角英数字を半角に変換したい 4 2022/07/07 13:14
- Access(アクセス) Accessのテキストボックスの入力文字制限 1 2023/01/18 20:43
このQ&Aを見た人はこんなQ&Aも見ています
関連するカテゴリからQ&Aを探す
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
ワードのフィールドの解除を一...
-
エクセルでシートにある赤文字...
-
Wordでカッコで括った文字を一...
-
word である文字をすべてイタリ...
-
Wordデータから,特定の単語を...
-
Wordの脚注を,1)・・2)・・3)...
-
word ある文字色の部分のみ別の...
-
英数字のフォント「Century」に...
-
Excelの表中,数字の「1」をす...
-
ワードで赤字のみを削除する方法
-
wordで特定の色だけ印刷しない方法
-
ワードで特定の文字列だけを太...
-
excelマクロ ボタンを押して文...
-
ワードで太字になっているとこ...
-
エクセルで、コンマをピリオド...
-
Word文書、取り消し線部分の一...
-
word文書内のピンク色の文字を...
-
箇条書きのアタマに一括で「・...
-
オラクルの関数で項目のすべて...
-
terapadの使い方について教えて...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
エクセルでシートにある赤文字...
-
Wordの脚注を,1)・・2)・・3)...
-
Word文書、取り消し線部分の一...
-
word である文字をすべてイタリ...
-
Excelの表中,数字の「1」をす...
-
ワードで赤字のみを削除する方法
-
ワードで半角英数の文字だけ選...
-
箇条書きのアタマに一括で「・...
-
「WORD」での作業 日本語・英...
-
excelマクロ ボタンを押して文...
-
ワードで太字になっているとこ...
-
ワードの表の中の値の表示形式...
-
EXCEL2010のハイパーリンク先の...
-
Wordでカッコで括った文字を一...
-
wordで特定の色だけ印刷しない方法
-
エクセルで、コンマをピリオド...
-
Wordデータから,特定の単語を...
-
word ある文字色の部分のみ別の...
-
Word(2010)の差込印刷時に特定...
-
日英、混合文。日本語だけ小さ...
おすすめ情報