全角英数字を半角に変換するExcel VBA関数の作成方法
- インターネットで全角を半角に変換するVBAを調べた結果、strconvという関数の説明がありましたが、自分のケースには適していないようです。仕事で毎月必要なExcel作業の一部で、都市の名前などを半角に変換したいのですが、どのようなVBA関数の表記で実現できるでしょうか。
- Excel VBAを使って全角の英数字を半角に変換する方法を調べています。インターネットでstrconvという関数の説明を見つけましたが、私のケースには適していないようです。毎月の仕事で必要なExcel作業の一部なので、簡単な表記で半角変換を行うVBA関数を教えていただければ助かります。
- ExcelのVBAを使って全角の英数字を半角に変換したいです。インターネットで調べたところ、strconvという関数の説明がありましたが、私のケースには合わないようです。毎月の仕事で使う必要があるので、簡単な表記で半角変換を行うVBA関数を作成する方法を教えてください。
- ベストアンサー
全角英数字を半角に excel vba
インターネットで全角を半角に変換するvbaを調べたら、strconvみたいな関数の説明がいろいろあったので、私のケースにあてはめて考えましたがどうもしっくりきません。例えばセルの A1,A2,A3..............A200位まで(最後の位置A200は毎回変わります)全角の英字 (TOKYO, OSAKA,NAGOYA) など都市の名前がいろいろ入っているですがそれをすべて半角に変換するvba関数はどういった表記でできるかご教授願います。毎月の仕事で必要なEXCEL作業の一部でエクセルのASC関数などは使用せずにvbaのをくみこみたくここで質問を入れてみました。vba全くの初心者なので簡単な表記であれば助かります。
- Moonbar
- お礼率44% (22/49)
- Excel(エクセル)
- 回答数1
- ありがとう数1
- みんなの回答 (1)
- 専門家の回答
質問者が選んだベストアンサー
こんにちは。 VBAマクロとしての基本的な例を2種類。 初級の教科書的には MacroA を先に習うと思いますけれど、 簡単で受け入れ易いのは MacroB の方かと思います。 A列の最下行を取得して、 A1から、最下行までをループ 各セルの値をStrConv関数で半角にする というのが、共通の流れです。 Sub MacroA() ' Re8946779a Dim nBtmRow As Long Dim i As Long nBtmRow = Cells(Rows.Count, "A").End(xlUp).Row ' 最下行 For i = 1 To nBtmRow ' 1行めから最下行までループ Cells(i, "A") = StrConv(Cells(i, "A"), vbNarrow) ' 半角にする Next i End Sub Sub MacroB() ' Re8946779b Dim c As Range For Each c In Range("A1:A" & Cells(Rows.Count, "A").End(xlUp).Row) ' 1行めから最下行までのセル範囲を総当たりループ c = StrConv(c, vbNarrow) ' 半角にする Next End Sub
関連するQ&A
- 【Excel】 全角(数字だけ)を半角にしたい
住所の表を整理しているのですが、数字が全角になっているので、半角に変換したいと思い、ASC関数を使ったのですが、カタカナまで半角になってしまいました。 カタカナは全角で、数字だけ半角にしたいのですが。。 数字だけを半角にする方法ってないんでしょうか?
- ベストアンサー
- オフィス系ソフト
- 英数文字を半角に、カナを全角に変換したい(Excel関数)
Excel関数で、英数カナ文字混在したセルに対して 英数は半角に、カナ文字は全角に変換したいのですが なにかいい方法はないでしょうか? JIS関数、ASC関数では上手くできません。 当方はエクセル駆け出しです。VBAとかを使えば上手くいくのでしょうか?よろしくご教授願います。
- ベストアンサー
- その他([技術者向] コンピューター)
- Excelで全角英数字を半角英数字に変換
こんばんは! お世話になります。 Excel sheetの列(F・G・J・K・N・O・R・S・V・W・Z・AA)、行(4~33)に アルファベットを入力するし、35行目以降に(例)A=1・B=2と"COUNTIF"関数使用でカウントされる様になっています。 そこで、その関数の式に半角英数字で入力した為、半角英数字で入力したものしかカウントされません。 入力時の注意で、半角英数字での統一入力でお願いしたものの、やはり中には全角英数字で入力する方もいて、一つ全角入力があると全て信用出来なくなり、折角自動でカウントされるようにしていても全部見直していては自動にした意味がありません。 その為、関数 or マクロでも結構です。 入力した範囲を選択して、半角英数字”A”の場合はそのままで全角英数字”A”の場合半角”A”に上書きされるようなことは出来ますか? 知っている中で、関数”ASC”も全角を半角に変換できますが、入力したセルと別のセルに返すので、そうではなく、入力してあるセルに上書きしたいのです。 ご存知の方がいらっしゃいましたら、宜しくお願いします。 お手数ですが初心者の為、具体的に教えて頂けたら幸いです。 ”のものは半角英数字
- ベストアンサー
- その他(データベース)
- ACCESSの全角、半角・・・
こんにちは! さっそく質問なのですが、ACCESSのVBAで、入力した文字を全角や半角に変換する関数はありますか?exelでしたら、「asc」や「jis」なのですが、ACCESSの場合は使えませんでした。 ボタンを作成して、そこの「クリック時」のイベントに組み込みたいと思うのですが・・・ よろしくお願いいたします。
- ベストアンサー
- その他(データベース)
- EXCEL 「ASC」関数 英数字の全角を半角に変換するよい方法があれば教えてください
EXCELで入力しているデータをフィルターを使用して検索できる データベースにしたいのですが、以前からの入力しているデータの英数字が全角、半角が混在していてます。 フィルター検索の際に全角で入力すると半角入力のものがヒットしないので不便で、英数字の半角統一にしたいと考えています。 ASC関数を使用して英数字の全角→半角を行なうこと考えたのですが ASC関数ですとカタカタも半角カタカナに変換されるので 英数字だけを全角→半角にする関数や方法などあれば教えてください。 入力データは 漢字、ひらがな、カタカナ、英数字が混在しています。 希望 全角→漢字、ひらがな、カタカナ 半角→英数字 宜しくお願い致します。
- ベストアンサー
- オフィス系ソフト
- Word2000で全角を半角に
教えて下さい。 ワード2000を使用しています。 エクセルだと全角→半角は=ASC()でできますよね。 ワードでこのような関数?はあるのでしょうか。
- ベストアンサー
- オフィス系ソフト
- VBA(Excel)で文字列内の"~"記号だけ半角変換したくない
VBA(Excel)で、StrConvを用いて、文字列内に存在する記号を全角→半角に変換して、再び文字列内に格納するようにしています。 strValue = StrConv(strValue, vbNarrow) しかし、"~"も"~"に変換されてしまいます。 "~"は半角変換しないようにしたいのですが、何か良い手法はありますでしょうか? どなたかご教授下さいませ。 よろしくお願い致します。
- ベストアンサー
- その他(プログラミング・開発)
- エクセル関数とVBA関数で意味が違うのは多いのか
エクセル関数とVBA関数で意味が違うのは多いのでしょうか? セルA1に「A」と入れ、 B1に「=ASC(A1)」と入れると B1は「A」になります。(半角) VBE画面で Sub test() Debug.Print Asc("A") End Sub を実行すると、-32160 になります。 ヘルプより エクセルでは=全角 (2 バイト) の文字を半角 (1 バイト) の文字に変換します。 VBAでは=指定した文字列内にある先頭の文字の文字コードを返す変換関数です。 となっていますが 同じ関数でも全く意味違うのでびっくりしています。 こういうことは頻繁にあるのでしょうか? (VBAのASC関数のかわりのエクセル関数は、CODE関数でした。)
- ベストアンサー
- オフィス系ソフト