
No.2ベストアンサー
- 回答日時:
a1="1234ABCDカタカナデス"
と入力されている場合、
B1=XferText(Asc(a1), Jis(a1))
で、英数(!"#$%・・・012・・・ABC・・・abc{|}~)が半角に、その他が全角になります。
ブランクは、変換しません。
Public Function XferText(ByVal strText1 As String, ByVal strText2 As String) As String
Dim I As Integer
Dim J As Integer
Dim L As Integer
Dim C As String * 1
Dim strTexts(1) As String
Dim strXfer As String
strTexts(0) = strText1
strTexts(1) = strText2
For I = 0 To 1
L = Len(strTexts(I))
For J = 1 To L
C = Mid$(strTexts(I), J, 1)
If I = 0 Then
If C >= "!" And C <= "~" Then
strXfer = strXfer & C
End If
Else
If Not (C >= "!" And C <= "~") Then
strXfer = strXfer & C
End If
End If
Next J
Next I
XferText = strXfer
End Function
No.3
- 回答日時:
正規表現が使用できるエディタを使用すると簡単なのですが、Wordを使ってもできそうです。
ワードの「文章校正の詳細オプション」で、カタカナを「全角に統一」に設定して文章校正を行います。英文字設定を「半角に統一」にすれば、英文字の統一も可能ですが、Wordはあまり賢くないので数字が除外されています。そこで、前処理として文字種を半角に変換しておく必要があります。
作業の自動化という点ではマクロの勝ちですが、ついでに文章の誤りも訂正できるというおまけ付きです(苦しいいいわけ)。
No.1
- 回答日時:
関数ではうまく行かないと思います。
VBAで以下のようなコードを組んでみてください。
使い方は、=HENKAN([セル名]) となります。
※注意:実際のVBAでは
If "ヲ" <= str1 And str1 <= "゜" Then
のヲと゜は半角にして下さい。
*********************************************************
Public Function Henkan(ByVal str As String) As String
On Error GoTo Err_Henkan
Dim i As Long
Dim j As Long
Dim str1 As String
Dim str2 As String
j = Len(str) '*** 文字の長さを数えて
If j > 0 Then
For i = 1 To j
str1 = Mid(str, i, 1) '*** 1文字ずつ検査する
'*** 半角カタカナなら全角に変換する
If "ヲ" <= str1 And str1 <= "゜" Then
str1 = StrConv(str1, vbWide)
Else
'*** 全角英文字なら半角に変換する
If "A" <= str1 And str1 <= "z" Then
str1 = StrConv(str1, vbNarrow)
End If
End If
str2 = str2 & str1
Next i
Henkan = str2
End If
Exit Function
Err_Henkan:
Henkan = str
End Function
*********************************************************
このコードでは、ハ゜を パに変換するようにまでは、
していませんので御容赦下さい。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- その他(Microsoft Office) WordやExcelで英数字のみ半角または全角にしたい 6 2022/08/03 08:18
- Access(アクセス) Accessのテキストボックスの入力文字制限 1 2023/01/18 20:43
- Visual Basic(VBA) エクセルの数式で教えてください。 1 2023/07/31 15:49
- Excel(エクセル) Excel 365 フリーズ 頻発 エクセルのセルの中に日本語の文章を全角半角和文英文数字を混ぜて入 3 2022/12/12 15:09
- Excel(エクセル) 全角文字「ヴ」の半角文字「ヴ」への変換方法について 3 2022/11/05 12:07
- Visual Basic(VBA) 特定の文字を簡単な操作で半角スペースに変換するか削除したい 2 2022/11/01 10:35
- Excel(エクセル) capeofdragonと申します Excel2016を使っておりまして 半角又は全角の任意文字列が 2 2022/10/31 13:51
- その他(Microsoft Office) 英数字のみ全角から半角に変換 4 2023/07/28 14:48
- Excel(エクセル) エクセルの数式で教えてください。 2 2023/03/09 16:55
- Excel(エクセル) エクセルシート中の全角英数字を半角に変換したい 4 2022/07/07 13:14
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
℃の半角表示
-
契約書や 公文書・私文書などに...
-
半角の『°(単位の度)』
-
半角の×(かける)は?
-
Excel 文字列の中から数字だけ...
-
EXCELの文字列操作で文字数不足...
-
EXCEL95 VLOOKUP関数で半角と全角
-
ビジネスの文書における、数字...
-
Excel2016 検索の窓を常時表示...
-
【VBA】ファイルパスに半角スペ...
-
EXCELで、セル内の半角カ...
-
半角スペース
-
エクセル関数で文字列の中のス...
-
テプラは半角数字が使えますか?
-
メールアドレスの上ハイフン入...
-
エクセルで 全角の空白を含む...
-
問2 次の文中の空欄にあてはま...
-
隅付き括弧に半角はありますか...
-
エクセルでひらがな・漢字はそ...
-
半角αを全角αにしたい
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
契約書や 公文書・私文書などに...
-
半角の×(かける)は?
-
半角の『°(単位の度)』
-
℃の半角表示
-
EXCELの文字列操作で文字数不足...
-
半角スペース
-
EXCELで、セル内の半角カ...
-
エクセル関数で文字列の中のス...
-
Excel 文字列の中から数字だけ...
-
テプラは半角数字が使えますか?
-
EXCEL95 VLOOKUP関数で半角と全角
-
メールアドレスの上ハイフン入...
-
エクセルでひらがな・漢字はそ...
-
ビジネスの文書における、数字...
-
エクセルで、JIS関数、ASC関数...
-
隅付き括弧に半角はありますか...
-
Excel2016 検索の窓を常時表示...
-
エクセルで 全角の空白を含む...
-
ヘッダー(フッター)の全角・...
-
【VBA】ファイルパスに半角スペ...
おすすめ情報