• ベストアンサー

エクセルで小文字を大文字に・・・

こんにちわ。 またまた質問させてください。 エクセル2000で セルに入っている小文字のひらがなカタカナをすべて大文字に変換したいのです。 置換を利用すればいいことなのですが量が多いため 出来れば関数で行いたいのです。 チョコレート=チヨコレート アップル=アツプル あぁ無情=ああ無情 のように。 誰か教えてください。

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

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

#2で失敗談を述べた者です。1日考えてなんとかなりそうです。7行と短く、判りやすいと思う。 A1セルに例えば「ぁつったゃささッた」と、入力する。 --- Module1に Sub test01() c = Array( 0, "ぁ", "あ", "っ", "つ", "ゃ", "や", "ッ", "ツ") a = Cells(1, 1) For i = 1 To 8 Step 2 a = Application.Substitute(a, c(i), c(i + 1)) Next i Cells(1, 4) = a End Sub と入力し実行すると、D1セルが「あつつたやささツた」となる。 ---- c=Array()の中の文字ペアーを増やし、 For i=1 to xxのxxを増やせば良い。 またJ=1 To ○○ を外側にネストし a=cells(j,1)と変え、 Cells(j,4)=aにし、Next jを入れれば 何セルの文字でも変換できる。「4」はA列と離しただけ。Cells(1, 1) = aとすればA1セルに結果を戻すことも出きる。

cibirousseau
質問者

お礼

お礼、遅くなりました。 ごめんなさい。 やってみたのですが、マクロを使った事が無いのでどうしても上手く出来ません。 沢山考えてくださったのに本当に申し訳リません。 ありがとうございました。

その他の回答 (2)

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

失敗談を。 「=SUBSTITUTE(A1,"っ","つ")」などで1セルの指定1文字ならば、全て大文字に置きかえられます。しかし小文字の数は多いので上手く行きません。 ( )内で、A1,"っ","つ";A1,"ぁ","あ";...のような表記法が認められれば良いのですが、多分ない様です。 もしご存知で有ればどなたか教えてください。

cibirousseau
質問者

お礼

はい! 私もその方法を最初は採ってみましたが何せ量が多いため効率がいいのか悪いのか… あは。 ありがとうございました。

  • nishi6
  • ベストアンサー率67% (869/1280)
回答No.1

マクロとユーザー定義関数を作ってみました。 マクロは、ツール→マクロ→マクロで『Komoji2Oomoji』を実行すれば、実行したシートの全角半角の小文字を対応する大文字に置き換えます。 ユーザー定義関数は、A1に文字があれば、別セルで  =fnKomoji2Oomoji(A1) のようにして使います。 回答すると半角が全角に変換されるので少し回りくどい書き方をしています。 半角カタカナ、全角カタカナ、全角ひらがなを置き換えます。 ツール→マクロ→Visual Basic Editor でVBE画面に移り、挿入→標準モジュール で標準モジュールを挿入します。 出てきたコードウインドウに下記マクロをコピーして貼り付けます。 ここから ↓ Const Oomoji1 = "あいうえおやゆよわつアイウエオヤユヨワツカケ" Const Komoji1 = "ぁぃぅぇぉゃゅょゎっァィゥェォャュョヮッヵヶ" Const Oomoji2 = "アイウエオヤユヨツ" Const Komoji2 = "ァィゥェォャュョッ" '変換用マクロ Sub Komoji2Oomoji()   Dim Oomoji As String   Dim Komoji As String   Oomoji = Oomoji1 & StrConv(Oomoji2, vbNarrow)   Komoji = Komoji1 & StrConv(Komoji2, vbNarrow)   Dim rg As Range 'セル   Dim rgText As String 'セルのテキスト   Dim L As Integer '文字の長さ   Dim p As Integer '検索文字の位置   For Each rg In ActiveSheet.UsedRange     rgText = rg.Text     For L = 1 To Len(rgText)       p = InStr(Komoji, Mid(rgText, L, 1))       If p > 0 Then         Mid(rgText, L, 1) = Mid(Oomoji, p, 1)       End If     Next     If rg.Text <> rgText Then       rg = rgText     End If   Next End Sub '変換用ユーザー定義関数 Function fnKomoji2Oomoji(moji As String)   Dim Oomoji As String   Dim Komoji As String   Oomoji = Oomoji1 & StrConv(Oomoji2, vbNarrow)   Komoji = Komoji1 & StrConv(Komoji2, vbNarrow)   Dim L As Integer '文字の長さ   Dim p As Integer '検索文字の位置   For L = 1 To Len(moji)     p = InStr(Komoji, Mid(moji, L, 1))     If p > 0 Then       Mid(moji, L, 1) = Mid(Oomoji, p, 1)     End If   Next   fnKomoji2Oomoji = moji End Function

cibirousseau
質問者

お礼

こんにちわ。 早速のお返事ありがとうございました。 しかし・・・ VBEの事がまったく解らないのでご指示の通り貼り付けて、起動してみたのですが小文字が大文字に変換されないのです。 私の貼り付け方がいけないのかもしれません。 むぅ・・・ ありがとうございました。

関連するQ&A

  • エクセルの文字列操作について

    エクセル初心者です。 エクセルの文字列操作で、カタカナの文字を全て大文字にしたいのですが、そういった場合に使える関数は有るのでしょうか? ちなみに、全てカタカナで入力してあるデータです。 例:エチケット →エチケツト   チョコレート→チヨコレート 300程有るデータを変換したいので関数でできればと思っています。 よろしくお願いします。

  • エクセルの関数に詳しい方、教えてください。

    よろしくお願いします エクセルの関数に詳しい方、教えてください。 小文字のひらがなだけを小文字のカタカナに変換できますか?量がたくさんあり困っています。 下記のように変換したいです。 しぇいぷ  →しェいぷ ふぃぎゅあ →ふィぎュあ まてぃありある →まてィありある よろしくお願いします

  • Excelで漢字をひらがなにする関数

    セルに入力されている単語(漢字、カタカナ、ひらがなが混合、例:「エクセル関数」)があります。それを隣のセルに全部ひらがなで出したいのですが、方法はありますか?IMEの「再変換」の機能ではなく、関数があれば教えていただきたいのです。(「PHONETIC」関数は知っていますが、これはカタカナに変換する関数です) 段階として、 1.ひらがなに変換する関数 2.または、PHONETIC関数でカタカナに直したセルをひらがなに変換する関数 3.ダメなら、うまいこと「ひらがな」になるマクロの組み方(あまり好みませんが、この際・・・) を、ご存知の方、是非よろしくお願いします。

  • エクセル カタカナをひらがなに

    エクセルです。すでに保存されているカタカナ文字を、ひらがなに変換できる関数を教えてください。また逆にカタカナに変換する関数をご存知でしたら教えてください。

  • Excelでカタカナ文字列をひらがな文字列に変換したい。

    Excelで半角カタカナを全角に変換する関数がありましたが、全角カタカナを全角ひらがなに変換はできるのでしょうか? 『桐』にはそのような関数があったかと思うのですが、Excelではわかりません。 よろしくお願いします。

  • エクセルでひらがな全角~カナ半角の相互への置換方法について

    エクセルの文字列の置換ですが、 ひらがな全角文字からカタカナ半角文字への置換。 また、その逆にカタカナ半角からひらがな全角への置換。 方法があれば教えてください。 よろしくお願いいたします。

  • エクセルで文字数を数えたいのですが

    よろしくお願いします。 エクセルでたとえば A1とB1のセルに 1,2,3,4,5,10 と入力されているとします。 ここから 1又は1,という文字数の合計を 抽出したいのですが 適切な関数が見当たらず 組合せもわかりません。  この場合 範囲はA1:A2 で 2(個)という 数値を欲しいのですが  セルの数や 左から何個目なのか ではなく 文字の合計数を 知りたいのですが。  文字の置換や検索みたいに 見つけて その個数を知りたいのですが   どなたかお願いいたします。  応用編で漢字の数や ひらがなの数(個数)を 1セルの中から又は多数のセル範囲から  指定文字の合計個数を抽出したいなど考えています。 初心者の為申し訳ありません。  ビジュアルベーシック?マクロ?アドイン?な状態です。 よろしくお願いいたします。 エクセル2003です。

  • エクセル2000:phonetic関数で漢字がひらがなに変わらない

    お世話になります。 エクセルでアクセス等からインポートした「漢字氏名」文字はphentic関数を使っても、ひらがな(カタカナ)には、直らないようです。 「ひらがな」もしくは「カタナカ」強制変換できる方法をお教えください。お願いします。

  • エクセルでひらがなをつける関数

    セルに混在している、漢字、カタカナを全部ひらがなに変換する関数ってないでしょうか?

  • 【エクセル】文字列置換について

    エクセルでの文字列置換についてお教えください。 一部の文字列が含まれていたら、置換するという処理は可能ですか? 例えば、 ”ああああいいいい”  ”ああああうううう” ”ああああええええ” セルに、上記の文字列が、あったとして、 ”ああああ”が、含まれていたら、 すべてのセルを、”おおおお” に、置き換える(差し替える)という処理を想定しています。 よろしくお願いいたします。

専門家に質問してみよう