プロが教えるわが家の防犯対策術!

Excel2016を使用しています。

B列とE列の値を、ひらがな・漢字はそのままで、 カタカナを全角、英数字を半角に変換したいのですが、方法を教えていただけましたら幸いです。

変換したい列の位置は固定ですが、行数は変動します。

よろしくお願いいたします。

「特定の列の値を、ひらがな・漢字はそのまま」の質問画像

A 回答 (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
    • good
    • 0
この回答へのお礼

理想通りの変換が一括でできました!
参考例に誤りがあり失礼いたしました。
要望を汲み取っていただきありがとうございます。
大変助かりましたm(__)m

お礼日時:2019/07/31 11:58

》 カタカナを全角、英数字を半角に変換したいのですが


カナは既に全角になってるジャン!
数字は見当たらない!
半角にするには =ASC関数を使いなさい!
チコちゃんに決め台詞を言わせないでぇ~!
    • good
    • 0
この回答へのお礼

コメントありがとうございます。
参考例に誤りがあり失礼いたしました。

お礼日時:2019/07/31 11:55

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!