• 締切済み

エクセル 全角から半角に変換 マクロ

エクセルでシートの上すべてのカタカナ、ひらがな、漢字、スペースを全角から半角に変換するマクロを教えてください。 アルファベットは残したいです。

みんなの回答

  • SI299792
  • ベストアンサー率48% (713/1473)
回答No.4

シートの上すべてですか。 ひらがな、漢字には半角がありません。フリガナを使いました。 値が入っているセルが対象です。関数等が入っているセルは対象外です。 フリガナの入っていない漢字(他からコピペした等)は漢字のままです。 Option Explicit ' Sub Macro1()   Dim Cell As Range   Dim OutData As String   Dim Start As Integer   Dim Char As String '   For Each Cell In Cells.SpecialCells(xlCellTypeConstants)     OutData = "" '     For Start = 1 To Len(Cell.Phonetic.Text)       Char = Mid(Cell.Phonetic.Text, Start, 1) '       If Char < "A" Then         Char = StrConv(Char, vbNarrow)       End If       OutData = OutData & Char     Next Start     Cell = OutData   Next Cell End Sub

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

#2です。 私がやってみたのは A1:A7セルに 東京都 アオキ ’123 くろだ 123 ABC ああ を手入力し、 Sub test01() For i = 1 To 7 'x = StrConv(Range("A1"), 8) 'x = StrConv(Range("A4"), 8) x = StrConv(Cells(i, "A"), 8) MsgBox x Next i End Sub を実行すると、 全角カタカナ、全角数字、全角英字の例では半角の文字になる(で表示される)が、漢字などは、元のままで、半角化しない。もともと存在しないのだから。それを言いたかっただけです。 質問の通りは、出来ないことの関連を述べただけで、「やれる」ーー>そして、その答えでは 全くない.もう、こんな話は打ち切りにしたい。

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

>ひらがな、漢字 には、半角文字(突き詰めて言えば、文字コード)は、(現在、存在するどんな文字コード体系でも)作られてないはず。 そんなレベルで、マクロを言うのは、早すぎると思う。 ーー 見た目は何も不便はないのだろうが、その先に何かしたいことがあるのでは? それを直截的に表現して質問したら、なーんだ、それか、となりそうな気もする。 ーー http://officetanaka.net/excel/vba/function/strconv.htm などを見れば、VBAで使う文字種の変換の、関数があるが、こんな知識で役立つかな? 「vbNarrow  8」でやってみたら 。 Sub test01() x = StrConv(Range("A1"), 8) MsgBox x End Sub A1セルに全角漢字入れて、実行すると、そのまま、が返ってきた。

nakanakaokwave
質問者

補足

Run-time error 5: Invalid procedure call or argument とエラーになります デバックを押すと x = StrConv(Range("A1"), 8)の部分にカラーが付いています

  • _kappe_
  • ベストアンサー率68% (1522/2216)
回答No.1

ひらがなや漢字はそもそも半角に変換できませんし、カタカナも半角に変換できない文字があります。

関連するQ&A

  • 全角から半角に変換する

    Javaで、文字列の中に全角があれば単純に半角に変換するような処理をしたいです。具体的には、次のような文字列があった場合、以下のように変換したいです。 <変更前> あ亜アアaaAA11%% <変更後> ア亜アアaaAA11%% つまり、以下のようにしたいです ・全角ひらがな→半角カタカナ ・漢字:何もしない ・全角カタカナ→半角カタカナ ・半角カタカナ:何もしない ・半角アルファベット→何もしない ・全角アルファベット→半角アルファベット ・半角数字→何もしない ・全角数字→半角数字 ・半角記号→何もしない ・全角記号→半角記号 上記のように書くと複雑に見えますが、要は基本的に半角に相当する文字がある場合には半角にしたいだけです。Googleで探してみましたが、Javaで標準で上記のような処理を出来るようなメソッドを見つけることができませんでした。このようなメソッドは標準で存在しますでしょうか? 自作する場合、いくつかアプローチがあると考えられますが、最もパフォーマンスを速くしたい場合にはどのような作り方にした方がよいでしょうか。お手数ですが、宜しくお願いします。 <追伸> プレビューで見たら、半角の文字が全角に自動的に変換されてしまいました。。 例文からはわかりにくいかも知れませんが、宜しくお願いします。。

    • ベストアンサー
    • Java
  • 全角 → 半角 への変換

    いつもお世話になります。 さて標記の件、データの変換で悩んでいます。 ACCESSのデータ(これも外部から取り込みます)中に全角文字が混じっていればその部分を半角に変えたいと思います。 全角文字が数字、ひらがな、カタカナのときは半角カナに出来ましたが、漢字の時に変換できません。 可能であれば間違えていても良いのでヨミガナに、不可なら半角スペース、これも不可なら削除したいです。 WinXP Office2000PROを使用しています。 以上、宜しくお願いいたします。

  • カタカナのみを半角から全角に変換したいのですが

    VBAについて教えてください。 文字をHPにアップできるように、カタカナのみを半角から全角に変換したいのですが 何か良い方法はありますか? 文字は英字・ひらがな・カタカナ・漢字がランダムに入っています。 例えば Sub test() Dim a As String a = "aaaアアア<>BBB" End Sub の状態で。「アアア」のみを全角にするにはどうすればいいでしょうか? アルファベットは半角のままにしたいです。

  • excelで数字を全角から半角にしたい

    excelでA1からZ400までデータがあります。漢字やひらがな、カタカナ、数字、アルファベットなどがたくさんあります。数字が全角と半角がごちゃ混ぜ状態です。どうにかして数字を半角で統一できないでしょうか?具体的には「東1」「東1」がごっちゃになってますので、数字が半角の「東1」に統一したいです。よろしくお願いします。

  • アルファベットを全角から半角に

    エクセル2003です。 エクセルに入力してある全角のアルファベットを全て半角に変換する方法はありますか? 表の中に、半角、全角が入り混じった状態でアルファベットが入力してあるのですが、それを一発で全て半角になるようにしたいのですが、可能でしょうか? できればマクロを使わずにしたいのですが、そのような方法がありましたらご教授お願いします。

  • エクセル 関数で全角カタカナを半角にしたい

    エクセル初心者です。人からもらったデータなのですが、住所の記載でカタカナの部分に半角と全角が混ざってしまっています。漢字・ひらがなはすべて全角、カタカナ・数字は半角に統一したいのですが、関数でできますか? 良い方法を教えてください。

  • エクセルで英数字を半角にするマクロ

    すでにデータが入力されたエクセルで、全角の英数字を半角にするマクロを探しています。 条件があり、なかなか合う物がなく、質問させて頂きました。 条件は ・アルファベット→半角 ・数字→半角 ・カタカナ→全角 ・伸ばし棒(例えば「データ」の「ー」)→全角 ・同一セルに上書きで変換 下の2点はできたら半角になると嬉しいです。 ・ナカグロ→半角 ・<>→半角 よろしくお願い致します。

  • 全角/半角をおしても

    ひらがな打ちにしたいのに、全角/半角をおしても下線の上にアルファベットになってしまいます。 いつも、カタカナ/ひらがなキーをおしてひらがな打ちにしているのですが、少したったらなぜか、また下線アルファベット設定になってしまいます。 文字入力の設定は触っていないのですが何が原因でしょう??

  • EXCEL 「ASC」関数  英数字の全角を半角に変換するよい方法があれば教えてください

    EXCELで入力しているデータをフィルターを使用して検索できる データベースにしたいのですが、以前からの入力しているデータの英数字が全角、半角が混在していてます。 フィルター検索の際に全角で入力すると半角入力のものがヒットしないので不便で、英数字の半角統一にしたいと考えています。 ASC関数を使用して英数字の全角→半角を行なうこと考えたのですが ASC関数ですとカタカタも半角カタカナに変換されるので 英数字だけを全角→半角にする関数や方法などあれば教えてください。 入力データは 漢字、ひらがな、カタカナ、英数字が混在しています。 希望 全角→漢字、ひらがな、カタカナ 半角→英数字 宜しくお願い致します。

  • エクセルで全角ひらがなを半角カタカナにするには?

    エクセルで全角ひらがなの「あいうえお」を半角カタカナの「アイウエオ」に変換するには,数式をどうすればよいですか?

専門家に質問してみよう