質問です。

エクセルの文字列の中で全角カタカナ文字を半角カナに変換する関数またはマクロはできますか。

回答の条件
  • 1人2回まで
  • 13歳以上
  • 登録:2011/05/07 13:23:10
  • 終了:2011/05/07 18:05:17

ベストアンサー

id:readmaster No.2

readmaster回答回数74ベストアンサー獲得回数52011/05/07 14:35:19

ポイント30pt

できます。

ASC関数を使えばOKです。


使い方は、 B1などに、=ASC(A1)で、A1に「ハテナ」とあれば半角カナでB1に入力されます。

http://www.moug.net/tech/exopr/0100008.htm


またこちらの質問もご参考に。

http://q.hatena.ne.jp/1122380046

id:inosisi4141

ありがとうございました。

早速やってみました。

上手くゆきました。

2011/05/07 17:34:06

その他の回答(2件)

id:asuka645 No.1

あすか回答回数856ベストアンサー獲得回数972011/05/07 13:37:31

ポイント20pt

ASC関数を使えばできます。

id:inosisi4141

ありがとうございました。

大変参考になりました。

意外と簡単にできるものですね。

2011/05/07 17:32:43
id:readmaster No.2

readmaster回答回数74ベストアンサー獲得回数52011/05/07 14:35:19ここでベストアンサー

ポイント30pt

できます。

ASC関数を使えばOKです。


使い方は、 B1などに、=ASC(A1)で、A1に「ハテナ」とあれば半角カナでB1に入力されます。

http://www.moug.net/tech/exopr/0100008.htm


またこちらの質問もご参考に。

http://q.hatena.ne.jp/1122380046

id:inosisi4141

ありがとうございました。

早速やってみました。

上手くゆきました。

2011/05/07 17:34:06
id:SALINGER No.3

SALINGER回答回数3454ベストアンサー獲得回数9692011/05/07 15:13:51

ポイント30pt

ASC関数と言いたいところですが、ASC関数は全角を半角にする関数なので

カタカナ意外にも英数字が半角となってしまいます。

それでマクロでカタカナだけを変換してみます。


変換したいセルを選択して実行すると英数字はそのままでカタカナだけを半角にするマクロです。

Sub 半角カタカナ()
    Dim r As Range
    Dim str1 As String
    Dim str2 As String
    Dim i As Integer
    
    For Each r In Selection
        For i = 1 To Len(r.Value)
            str1 = Mid(r.Value, i, 1)
            If str1 Like "[ァ-ン,ー]" Then
                str2 = str2 & StrConv(str1, vbNarrow)
            Else
                str2 = str2 & str1
            End If
        Next i
        r.Value = str2
    Next r
End Sub
id:inosisi4141

ありがとうございます。

上手くゆきました。

複数セルを選択して変換できるとより便利なのですが。

無理でしょうか。

2011/05/07 17:22:06
  • id:SALINGER
    複数セルのつもりで作ったつもりでしたが間違ってましたね。
    For Each・・・・
    の下の行に、
    Str2=""
    が1行抜けてました。

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

絞り込み :
はてなココの「ともだち」を表示します。
回答リクエストを送信したユーザーはいません