dポイントプレゼントキャンペーン実施中!

ご質問させて頂きます。エクセルでセルに例えば「12345」と入力すると「あいうえお」のように表示させることは可能でしょうか?つまり「1342」でしたらそのセルに表示されるのは「あうえい」となるようにです。もしもできるとしたら、その方法を教えて頂けませんか?宜しくお願致します。

A 回答 (6件)

> つまり「1342」でしたらそのセルに表示されるのは「あうえい」となる・・・・



ご要望のようなことはVBAで簡単に実現できると思います。
以下の手順をお試し下さい。

1.該当シートのタブを右クリックし、「コードの表示」を選択。
2.出てきたVisualBasicEditor(白い部分)に下記のコードをコピペ。

'*****この下をコピペ*****

Private Sub Worksheet_Change(ByVal Target As Range)
s = Target.Value
e = Len(s)
For i = 1 To e
On Error Resume Next
x = Choose(Mid(s, i, 1), "あ", "い", "う", "え", "お")
y = y & x
On Error GoTo 0
Next
Application.EnableEvents = False
Target.Value = y
Application.EnableEvents = True
End Sub

'*****ここより上をコピペ*****

3.AltキーとF11キーを同時に押してワークシートへもどります。

1342と入力してみてください。
    • good
    • 0

「12345」と入力されたものを「あいうえお」と表示させることは標準ではできません。


VBAで文字列の変換を行うプログラムを作成する必要があります。

他のセルに表示させるのであれば関数でも可能ですが文字数が多くなると煩雑になりお薦めできません。
    • good
    • 0
この回答へのお礼

「VBA」などとお初の言葉が出てきました。簡単に考えていたんですが、やっぱり大変なんですねご回答頂きましてありがとうございました。

お礼日時:2007/02/12 10:52

12345の文字数が5文字以内とかなら、関数でできますが、それ以上だと式が長くなって、そんなの回答に上げたくない。


文字数が変動する型のものは、VBAでやるべき型の課題です。
31234うあいうえうあいうえ
342うえいうえい
4213えいあうえいあう
B1は
=IF(COLUMN()-1>LEN($A1),"",INDEX({"あ","い","う","え","お"},MID($A1,COLUMN()-1,1)))
と入れてF1まで式を複写
B1:f1の式をB3:F3に式を複写
結果 上記
G1は=B1&C1&D1&E1&F1
G3まで式を複写。
結果 上記
    • good
    • 0

◆補助列ありの関数による方法です


    A     B    C   D   E   F  G  H
1  1234  あいうえ  あ  い  う  え
2  1342  あうえい  あ  う  え  い

C1=CHOOSE(MID($A1,COLUMN(A1),1),"あ","い","う","え","お",)
または、
C1=MID("あいうえお",MID($A1,COLUMN(A1),1),1)
★右と下にコピー

B1=C1&D1&E1&F1&G1&H1
★下にコピー
    • good
    • 0

IME辞書ツールに登録したらどうでしょう



 読み   語句
  1    あ
  2    い
  3    う 

    という風にしたらどうでしょう
    ほかに簡単に出来る方法があるか?
    • good
    • 0

 1 で あ、 2 で い を表示するには



 書式 → セル → 表示形式 → ユーザー定義 → 種類の所に
    [=1]"あ";[=2]"い";G/標準 
と入力して OK 

 この方法は、2個までしか選択表示できませんので、 3個以上から選択する場合は、 リスト で選択する方が便利です。
 
    • good
    • 0

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