プロが教える店舗&オフィスのセキュリティ対策術

どなたか御存知の方おしえてください。
エクセル2000を使用しています。
例えば、
A.
ケチャップ
チャンピオン
ロナウジーニョ

B.
ケチヤツプ
チヤンピオン
ロナウジーニヨ

などと、Aのように小さいカナ混じりで入力されているシートをすべてBのように普通のカナにする関数はありますか?

A 回答 (2件)

関数じゃないとダメですか?


同じ事は「置換」で、出来ますけれど。
文字列が入ったセルを選んで、編集→置換
検索する文字列に、ャ を入れる→置換後の文字列に、ヤ を入れる
→すべて置換
    • good
    • 0

置換えでできますが、ユーザー定義関数を作ってみました。


A1の文字を変換する場合、=KomojiHenkan(A1) のようにして使います。
全角カタカナ、全角ひらがな、半角カタカナに対応しています。(Excel97で確認)

ツール→マクロ→Visual Basic Editor でVBE画面に移り、挿入→標準モジュール で標準モジュールを挿入し、出てきたコードウインドウに、下記コードをコピーして貼りつけます。

ここから

Function KomojiHenkan(moji As String)
  Dim L As Integer 'カウンタ
  Dim pot As Integer '文字位置
  Dim iKomoji As String, Komoji As String '小文字
  Dim iOomoji As String, Oomoji As String '通常文字
  iKomoji = "ぁぃぅぇぉゃゅょっ"
  iOomoji = "あいうえおやゆよつ"
  Komoji = iKomoji & StrConv(iKomoji, vbKatakana) & StrConv(iKomoji, vbNarrow + vbKatakana)
  Komoji = Komoji & "ヵヶ"
  Oomoji = iOomoji & StrConv(iOomoji, vbKatakana) & StrConv(iOomoji, vbNarrow + vbKatakana)
  Oomoji = Oomoji & "カケ"

  For L = 1 To Len(moji)
    pot = InStr(Komoji, Mid(moji, L, 1))
    If pot > 0 Then
      Mid(moji, L, 1) = Mid(Oomoji, pot, 1)
    End If
  Next
  KomojiHenkan = moji
End Function
    • good
    • 0
この回答へのお礼

やってみました。できました。すごいですね~!
置換でもできるのですけれど、全部やらなきゃいけなくて大変だったので…
とても助かりました。有り難うございました。

お礼日時:2002/06/28 15:10

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!