• ベストアンサー

エクセル上で英数のみを半角するにはどうしたらいいでしょうか?

エクセル上で、英数のみを全角から半角にするソフトはあるでしょうか? 英数・カナ・記号・スペースまで一括に半角にするものや、英数でも日本文の中の英数1文字は半角にしないものなどは見つけることができたのですが、英数だけをすべて半角にするものは見つけられません。 何かいいものがありましたら教えてください。

  • momota
  • お礼率85% (112/131)

質問者が選んだベストアンサー

  • ベストアンサー
  • mach999
  • ベストアンサー率75% (36/48)
回答No.3

こんなマクロでいけるかと思います。 Public Sub Convert()   Dim s As String   Dim c As String   Dim i As Integer   Dim cell As Range   If Not (TypeOf Selection Is Range) Then Exit Sub   For Each cell In Selection.Cells     s = cell.Value     For i = 1 To Len(s)       c = Mid(s, i, 1)       If IsWideAlphabet(c) Or IsWideNumber(c) Then         Mid(s, i, 1) = StrConv(c, vbNarrow)       End If     Next i     cell.Value = s   Next End Sub Private Function IsWideAlphabet(c As String) As Boolean   IsWideAlphabet = Asc("A") <= Asc(c) And Asc(c) <= Asc("Z") _             Or Asc("a") <= Asc(c) And Asc(c) <= Asc("z") End Function Private Function IsWideNumber(c As String) As Boolean   IsWideNumber = Asc("0") <= Asc(c) And Asc(c) <= Asc("9") End Function

momota
質問者

お礼

ありがとうございました。 私にもできました。 とても感激しております。 本当にありがとうございました。

その他の回答 (3)

  • imogasi
  • ベストアンサー率27% (4737/17068)
回答No.4

#2のお礼に関して。 (1)私も少数例ですが、テストして確認済みで上げてます。 (2)A列に全角データがあり、C列に半角データをセットしてます。C列は意味ありません。B列はASC関数で使ってたので。 (3)英数は大文字・小文字、全角・半角が見て判別し難いとは思いますが。 (4)ロジックに付いては何度も使っているので (5)私の凡ミスがあるかも知れませんが、それも含めて 見つけて直して修正していただくことが出来ないと、使っていただくのはむりですかね。

momota
質問者

お礼

意味がわかりました。 私のエクセルには複数列入力したあったので、A列がC列にコピーされたわけですね。 A列だけ入力してみたら、C列にちゃんと半角が出ました。 素人なもので、理解できなくて申し訳ありませんでした。 詳しく説明してくださりありがとうございました。

  • imogasi
  • ベストアンサー率27% (4737/17068)
回答No.2

ASC関数はカナも半角にするようです。 もしそれが都合悪ければ、英数だけなら、半角と全角が1対1対応なので(ぱのパのように1文字が2文字になることが無いので) 標準モジュールに貼りつけて実行して見てください。 Sub test01() d = Range("A65536").End(xlUp).Row MsgBox d a = "1234567890abcdefghjiklmnopqrstuvwxyz" & _ "ABCDEFGHIJKLMNOPQRSTUVWXYZ" b = "1234567890abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ" For j = 1 To d t = "" For i = 1 To Len(Cells(j, "A")) 'A列の文字を変換 s = Mid(Cells(j, "A"), i, 1) For k = 1 To Len(a) If s = Mid(a, k, 1) Then t = t & Mid(b, k, 1) GoTo p02 Else End If Next k t = t & s p02: Next i Cells(j, "C") = t 'C列にセット Next j End Sub

momota
質問者

お礼

回答ありがとうございます。 私のやり方が悪いのか、なぜかA列がC列にコピーされるだけであとは変りません。 何がいけないのでしょうか?

  • heycha
  • ベストアンサー率20% (16/78)
回答No.1

ASC関数はダメですか?

momota
質問者

お礼

早速の回答ありがとうございます。 素人に近い方なので、ASC関数がどんなものかよくわらかないのですがこれはカナ・記号・スペースなども半角になりませんか?

関連するQ&A

  • エクセル:半角カナを全角に、半角英数はそのままに。

    エクセル:半角カナを全角に、半角英数はそのままに。 ひらがな・漢字・半角カナ・半角英数が混じったセルが縦に沢山あります。 半角カナだけを全角にし、半角英数はそのままにしたいのですが、JISでは全て全角になってしまいます。 どなたか良い関数を教えてください。

  • 半角英数。

    パソコン初心者なので教えてください。 大きなAは全角英数で横にスペースマークのようなのがついているAは半角英数ですよね?スペースマークのようなのがついていない半分サイズのAは何ですか? それと今まで全角ひらがなを使っていて途中半角英数にしたいとき、キーボードの英数を押したら半角英数になりまたおすとひらがなにもどっていたのですが、最近は英数・半角全角・ひらがなのどのキーをおしてもスペースマークつきのAがでてきません。 画面上では半角英数をクリックするとできるのですがどうしてキーボードでできなくなったのでしょう? どのキーをおすとなおりますか?

  • 半角記号を一括変換で全角記号にするソフト

    半角文字でかかれた() ; : などを ( ) ; : などに変更できるソフトを探しています。いろんなテキストエディターを見たのですが、一括で記号だけ変更できそうなものが 秀丸エディタの全閣下というマクロだけのようです。できればフリーウェアのものでないでしょうか。 半角英数やカナは全角にしたくありません。あくまでも記号のみです。

  • 半角英数

    半角英数 Shift+英文字で 「半角英数」が出てたのですが 「全角英数」が出るようになってしまいました。 Shift+英文字で半角英数を出すには どうすればいいですか?

  • エクセル:全角⇔半角変換

    エクセルで半角(全角)で打った英数文字を全角(半角)に 「一括変換」する手順を教えてください。

  • 半角英数文字を全角英数文字に変換する方法

    半角英数文字を全角英数文字に変換する方法ってありますか? どうしても半角カナのみならず、英数字まで全角に必要が出てきたんですが、何かいいてはありますでしょうか。 jcode.phpsは英数文字まで全角に出来ませんよね。 pgrep_replaceも使ってみたんですが、うまく引っ掛かりません。 PHP3とMySQLでEUC-JPを扱ってます。 よろしくお願いします。

    • ベストアンサー
    • PHP
  • かな→半角英数

     キーボードの左上の「半角/全角 漢字」というキーで日本語と英語打ちの切り替えをいつもしているんですが、かな入力の状態から、そのキーを押すと、半角英数でなく直接入力が選ばれてしまいます。  どう設定したらいいでしょうか?

  • 半角英数

    いままで英文字を入力するときにCapsLockを押すと半角英数になっていたのに子供がいろいろさわっていたら半角英数にならずに全角英数になるようになってしまいました?? どうやったら元に戻るでしょうか?

  • 英文をすべて英数半角文字にする方法

    英文(かなりの長文)をエクセルで作成し web. 上に貼り付けようとしたところ、その欄は、英数半角文字のみ受付けるようになっており、どうしても入力できません。 アルファベット、数字、記号など文中の怪しいところを、英数半角文字で再度打ち直して何度も試しているのですが、どうしても受付けてくれません。 どの文字が全角なのか検索してくれ方法、あるいは全角文字を自動的に半角に直す方法等、ありましたら、どなたか御教授いただければ幸いです。

  • エクセル 半角カナを全角に、半角英数はそのままに

    エクセル2010で、データの表記を半角カナだけを全角にし、半角英数はそのままにしたいのですが、下記の方法No.2では上限にかかり使用が出来ませんでした。 http://okwave.jp/qa/q5985323.html どなたか良い関数を教えてください。

専門家に質問してみよう