
No.2ベストアンサー
- 回答日時:
変換したい列の位置は固定ですが、行数は変動します。
マウスでチェックする部分を選択して、マクロを実行してください。
'//標準モジュール
Sub CharsConvert()
Dim Matches
Dim Match
Dim Pats(1 To 2)
Dim buf As String, buf2 As String
Dim c As Range, i As Long
'正規表現パターン
Pats(1) = "([\uFF66-\uFF9F]+)" '半角カタカナ
Pats(2) = "([0-9A-Za-z]+)" '全角英数
With CreateObject("VBScript.RegExp")
.Global = True
.IgnoreCase = False
For Each c In Selection '//マウスで範囲を選択 //
For i = 1 To 2
.Pattern = Pats(i)
Set Matches = .Execute(c)
If Matches.Count > 0 Then
For Each Match In Matches
buf = .Replace(Match.Value, "$1")
If i = 1 Then
buf2 = Replace(c.Value, buf, StrConv(buf, vbWide), , 1) '半角カタカナを全角にする。1回だけ
Else
buf2 = Replace(c.Value, buf, StrConv(buf, vbNarrow), , 1) '全角英数字を半角にする。1回だけ
End If
c.Value = buf2
Next
End If
Next i
Next c
End With
End Sub
この回答へのお礼
お礼日時:2019/07/31 11:58
理想通りの変換が一括でできました!
参考例に誤りがあり失礼いたしました。
要望を汲み取っていただきありがとうございます。
大変助かりましたm(__)m
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
このQ&Aを見た人はこんなQ&Aも見ています
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
ハイフン(-)が長音(ー)
-
長音「ー」とマイナス「-」の...
-
更新クエリで半角カタカナのみ...
-
VB.NETで DataRow()を利用して...
-
【Excel VBA】指定行以降をクリ...
-
VBAでActiveDirectoryのユーザ...
-
エクセルVBAで範囲内での位置取...
-
i=cells(Rows.Count, 1)とi=cel...
-
VB.NETでコンボボックスの1行目...
-
Excelで指定した日付から過去の...
-
VBSでエクセル内の行数を取得す...
-
配列がとびとびである場合の書き方
-
秒以下は取得できないですか?
-
テキストボックスのvalueとtext...
-
EXCELで変数をペーストしたい
-
Accessのクエリで、replace関数...
-
特定のセルが空白だったら、そ...
-
ListView 項目の選択/選択解除...
-
MACアドレスを取得する方法はあ...
-
ExcelのINDEXとMATCH関数でスピ...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
「ー」←これは伸ばし棒ですか?...
-
UTF-8 と SHIFT-JIS について
-
更新クエリで半角カタカナのみ...
-
ハイフン(-)が長音(ー)
-
長音「ー」とマイナス「-」の...
-
エクセル2016 条件付き書式で全...
-
Outlookの連絡先のフリガナを半...
-
特定の列の値を、ひらがな・漢...
-
Excelで文字の長さを揃えるには
-
VBA エクセル 全角 半角
-
エクセルシート中の全角英数字...
-
アクセス2000:クエリの関数で...
-
オリジナルCD の CD TEXT作成...
-
文字種の変換
-
アクセスのLENBとエクセルのLEN...
-
Indesign自動化処理
-
掲示板に書き込む文字の半角/全...
-
VB.NETで DataRow()を利用して...
-
Accessのクエリで、replace関数...
-
テキストボックスのvalueとtext...
おすすめ情報