• ベストアンサー

半角カタカナを全角カタカナに変換したい

Windows2000/Microsoft Excel2000です。 入力されている文字列のカタカナが半角になっているのを 全角に一括変換する数式はありますでしょうか? 英数字は半角のまま残したいのですが。 JISを使うと英数字も全角になってしまいます。 ヘルプいただけると大変助かります。

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

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

#1のご回答は半角カナの濁点半濁点が全角になったとき1字化するのに苦労されているのではないでしょうか。 そこで=JIS(A1)のように関数を使うと、関数の方でその点は解決してくれるので、一旦全角にして、英字+数字だけを半角にプログラムで戻す方がやや簡単になるのではないかと思いました。 C3セルに全角文字列を入れてテスト。 Sub test01() s = Cells(3, 1) z = "0123456789" z = z & "abcdefghijklmnopqrstuvwxyz" z = z & "ABCDEFGHIJKLMNOPQRSTUVWXYZ" h = "0123456789" h = h & "abcdefghijklmnopqrstuvwxyz" h = h & "ABCDEFGHIJKLMNOPQRSTUVWXYZ" sn = "" For i = 1 To Len(s) s1 = Mid(s, i, 1) For j = 1 To Len(h) If s1 = Mid(z, j, 1) Then h1 = Mid(h, j, 1) sn = sn & h1 GoTo p01 End If Next j sn = sn & s1 p01: Next i MsgBox sn End Sub それにしても面倒ですね。

0406tgcckk
質問者

お礼

みなさん、どうもありがとうございました。 時間がなかったので、 まずJISを使ってすべてを全角にし、 その後Wordに貼り付けて文字校正で全角英数字を半角英数字に変えました。 ひとつひとつ見ないといけなかったので 結構大変でした。。。 ご提案くださった方法はあとでゆっくり試してみます。 詳しくご説明下さって、どうもありがとうございました。

その他の回答 (2)

  • Hageoyadi
  • ベストアンサー率40% (3145/7860)
回答No.2

一括ではできないかも。マクロの助けがいるんじゃないかな。 別法。 B1=asc(A1)ですべてが半角になります 。 B1のデータをコピーし、C1に「値のみ」で貼り付けます。 D1=Phonetic(C1) これでカタカナは全角、英数は半角になるはずです。 (振り仮名の設定はデフォルトのままで。) PHONETIC(ASC(A1))は動きませんので念のため。

0406tgcckk
質問者

お礼

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

noname#4564
noname#4564
回答No.1

下記のVBA関数で可能です。 Option Explicit Public Function KanaWideConv(ByVal strSource As String) As String Dim strTmp As String Dim lngStrLength As Long Dim lngTmpLength As Long Dim i As Long Const AscKuten As Integer = &HA1 '半角句点のAscii文字コード Const AscDakuOn As Integer = &HDE '半角濁音のAscii文字コード Const AscHanDakuOn As Integer = &HDF '半角半濁音のAscii文字コード lngStrLength = Len(strSource) Select Case lngStrLength Case Is > 1 '2文字以上ある場合。 '先頭の文字に濁音、半濁音が格納されている場合、エラーとなるので、 '2文字めから処理。(先頭の文字のみ、別処理) For i = lngStrLength To 2 Step -1 strTmp = Mid$(strSource, i, 1) Select Case Asc(strTmp) '濁音、半濁音の処理。(直前の文字と2文字1組で処理) Case AscDakuOn, AscHanDakuOn '変換後、文字数が変わるため、変更前の文字数を取得。 lngTmpLength = Len(strSource) strSource = Replace(strSource, _ Mid$(strSource, i - 1, 2), _ StrConv(Mid$(strSource, i - 1, 2), vbWide), _ , _ , _ vbBinaryCompare) '文字数の変更に合せてカウンタを変更。 i = i - (lngTmpLength - Len(strSource)) 'その他の半角カナ Case AscKuten To &HDD Mid$(strSource, i, 1) = StrConv(strTmp, vbWide) End Select Next i '先頭文字の処理。 strTmp = Mid$(strSource, 1, 1) Select Case Asc(strTmp) Case AscKuten To AscHanDakuOn Mid$(strSource, 1, 1) = StrConv(strTmp, vbWide) End Select Case 1 '1文字のみの場合。 Select Case Asc(strSource) Case AscKuten To AscHanDakuOn strSource = StrConv(strSource, vbWide) End Select End Select KanaWideConv = strSource End Function

0406tgcckk
質問者

お礼

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

関連するQ&A

  • エクセルでひらがな入力した列を半角カタカナに一括変換するには?

    エクセルに約500件もひらがな入力した列を、半角カタカナに一括変換するにはどうすればいいのでしょう?全角英数字を半角英数字に変換は出きるようですが、こんなこと出きるのでしょうか?

  • 半角カタカナ→全角カタカナへの変換

    perlプログラムで半角カタカナ→全角カタカナへの一括変換をしたいのですが、 なにか良いプログラムを教えてください。 例) アップルマンズ→アップルマンズ に変換したい。

  • 半角⇔全角の一括変換

    Excelで、全角または半角になっているものすべて(英数字、記号、文字)を一括半角または全角に一括変換できますか?もし可能なら方法を教えてください。 Excel2019利用です。

  • ACCESS2000で半角→全角に変換したいのですが・・・

    よろしくお願いします。 ACCESS2000で、データーベースを作成しているのですが、 テーブルの作成でデーター入力を、英数字・カタカナを半角・全角混在して入力してしまいました。 これらを一括して、全角に直したいのですが、どのようにしたらいいでしょうか? よろしくご指導下さい。お願いします。

  • excel2000で半角スペースを全角に変換する方法

    excel2000で半角スペースを全角スペースに一括変換(置換え)する方法を教えてください。 列を指定して検索で半角スペースを入力しても 文字でなければ検索できません。 宜しくお願いいたします

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

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

    • ベストアンサー
    • Java
  • 全角、半角を一括変換したい。

    全角、半角を一括変換したい。 製品マスタと呼ばれる表が有ります、A列に製品名称(英数字表記:AX#4など)B列に規格寸法(3.5X5.5)。 全角半角入り混じっています。表の改定作業をすることになり英数字のすべてを半角表記することになりました、全製品数2000余りあります、一括して返還する方法が有れば教えて下さい。

  • 全角から半角への変換

    Excel2000を使っていますが、ある列(または行)の全角で入力された数字を、すべて半角に変換する方法がありましたら教えてください。

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

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

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

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