- ベストアンサー
エクセル上で英数のみを半角するにはどうしたらいいでしょうか?
- みんなの回答 (4)
- 専門家の回答
質問者が選んだベストアンサー
こんなマクロでいけるかと思います。 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
その他の回答 (3)
- imogasi
- ベストアンサー率27% (4737/17068)
#2のお礼に関して。 (1)私も少数例ですが、テストして確認済みで上げてます。 (2)A列に全角データがあり、C列に半角データをセットしてます。C列は意味ありません。B列はASC関数で使ってたので。 (3)英数は大文字・小文字、全角・半角が見て判別し難いとは思いますが。 (4)ロジックに付いては何度も使っているので (5)私の凡ミスがあるかも知れませんが、それも含めて 見つけて直して修正していただくことが出来ないと、使っていただくのはむりですかね。
お礼
意味がわかりました。 私のエクセルには複数列入力したあったので、A列がC列にコピーされたわけですね。 A列だけ入力してみたら、C列にちゃんと半角が出ました。 素人なもので、理解できなくて申し訳ありませんでした。 詳しく説明してくださりありがとうございました。
- imogasi
- ベストアンサー率27% (4737/17068)
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
お礼
回答ありがとうございます。 私のやり方が悪いのか、なぜかA列がC列にコピーされるだけであとは変りません。 何がいけないのでしょうか?
- heycha
- ベストアンサー率20% (16/78)
ASC関数はダメですか?
お礼
早速の回答ありがとうございます。 素人に近い方なので、ASC関数がどんなものかよくわらかないのですがこれはカナ・記号・スペースなども半角になりませんか?
関連するQ&A
- エクセル:半角カナを全角に、半角英数はそのままに。
エクセル:半角カナを全角に、半角英数はそのままに。 ひらがな・漢字・半角カナ・半角英数が混じったセルが縦に沢山あります。 半角カナだけを全角にし、半角英数はそのままにしたいのですが、JISでは全て全角になってしまいます。 どなたか良い関数を教えてください。
- ベストアンサー
- オフィス系ソフト
- 半角英数。
パソコン初心者なので教えてください。 大きなAは全角英数で横にスペースマークのようなのがついているAは半角英数ですよね?スペースマークのようなのがついていない半分サイズのAは何ですか? それと今まで全角ひらがなを使っていて途中半角英数にしたいとき、キーボードの英数を押したら半角英数になりまたおすとひらがなにもどっていたのですが、最近は英数・半角全角・ひらがなのどのキーをおしてもスペースマークつきのAがでてきません。 画面上では半角英数をクリックするとできるのですがどうしてキーボードでできなくなったのでしょう? どのキーをおすとなおりますか?
- ベストアンサー
- その他(インターネット・Webサービス)
- 半角記号を一括変換で全角記号にするソフト
半角文字でかかれた() ; : などを ( ) ; : などに変更できるソフトを探しています。いろんなテキストエディターを見たのですが、一括で記号だけ変更できそうなものが 秀丸エディタの全閣下というマクロだけのようです。できればフリーウェアのものでないでしょうか。 半角英数やカナは全角にしたくありません。あくまでも記号のみです。
- ベストアンサー
- フリーウェア・フリーソフト
- 半角英数
半角英数 Shift+英文字で 「半角英数」が出てたのですが 「全角英数」が出るようになってしまいました。 Shift+英文字で半角英数を出すには どうすればいいですか?
- ベストアンサー
- その他(インターネット・Webサービス)
- 半角英数文字を全角英数文字に変換する方法
半角英数文字を全角英数文字に変換する方法ってありますか? どうしても半角カナのみならず、英数字まで全角に必要が出てきたんですが、何かいいてはありますでしょうか。 jcode.phpsは英数文字まで全角に出来ませんよね。 pgrep_replaceも使ってみたんですが、うまく引っ掛かりません。 PHP3とMySQLでEUC-JPを扱ってます。 よろしくお願いします。
- ベストアンサー
- PHP
- かな→半角英数
キーボードの左上の「半角/全角 漢字」というキーで日本語と英語打ちの切り替えをいつもしているんですが、かな入力の状態から、そのキーを押すと、半角英数でなく直接入力が選ばれてしまいます。 どう設定したらいいでしょうか?
- 締切済み
- Windows XP
- 半角英数
いままで英文字を入力するときにCapsLockを押すと半角英数になっていたのに子供がいろいろさわっていたら半角英数にならずに全角英数になるようになってしまいました?? どうやったら元に戻るでしょうか?
- ベストアンサー
- Windows XP
- 英文をすべて英数半角文字にする方法
英文(かなりの長文)をエクセルで作成し web. 上に貼り付けようとしたところ、その欄は、英数半角文字のみ受付けるようになっており、どうしても入力できません。 アルファベット、数字、記号など文中の怪しいところを、英数半角文字で再度打ち直して何度も試しているのですが、どうしても受付けてくれません。 どの文字が全角なのか検索してくれ方法、あるいは全角文字を自動的に半角に直す方法等、ありましたら、どなたか御教授いただければ幸いです。
- 締切済み
- その他(インターネット・Webサービス)
- エクセル 半角カナを全角に、半角英数はそのままに
エクセル2010で、データの表記を半角カナだけを全角にし、半角英数はそのままにしたいのですが、下記の方法No.2では上限にかかり使用が出来ませんでした。 http://okwave.jp/qa/q5985323.html どなたか良い関数を教えてください。
- ベストアンサー
- オフィス系ソフト
お礼
ありがとうございました。 私にもできました。 とても感激しております。 本当にありがとうございました。