• ベストアンサー

エクセルで数字を入力すると単語に変換される方法

例えばA1セルで「123」と入力すると、A1セルで「お菓子」と変換する方法を探しています。 A1セルに「123」→Enter→A1セルに「お菓子」 B1セルに「456」→Enter→B1セルに「ジュース」      登録したい単語が多く、エクセルではなくマクロでないと無理でしょうか? V関数を使った、数字を入力すると別列に単語が自動入力される方法は存じております。 あくまで同セルでの入力・変換する方法です。 Excel2007を使用しております。 ご存知の方がいらっしゃいましたら、ご教授の程よろしくお願い致します。

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

  • ベストアンサー
  • keithin
  • ベストアンサー率66% (5278/7940)
回答No.1

どうしてもヤリタイのでしょうから次のようにすれば出来ますが,お薦めはしませんね。 準備: シート2のA列に変換前の値,123や456を列記する シート2のB列に対応する値,みかんやりんごを列記しておく シート1に戻り,シート名タブを右クリックしてコードの表示を選び 現れた画面に下記をコピー貼り付ける private sub worksheet_change(byval Target as excel.range)  dim h as range  dim ha as range  dim hz as range  dim res as range  set hz = application.intersect(target, range("A:A"))  if hz is nothing then exit sub  for each ha in hz.areas  for each h in ha   if h <> "" then    set res = worksheets("Sheet2").range("A:A").find(what:=h.value, lookin:=xlvalues, lookat:=xlwhole)    if not res is nothing then     application.enableevents = false     h = res.offset(0, 1).value     application.enableevents = true    end if   end if  next  next end sub ファイルメニューから終了してエクセルに戻る シート1のA列に123や789と記入する。 #参考 A列にまとめてデータをコピー貼り付けたり,削除したりといったふつーのエクセルの操作に対応するよう,少し手順が増えています。

その他の回答 (3)

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

別セルに出なくて入力した同じセルに出したいとなるとVBAを使うことになる。エクセルはそういうもんであって、高望みして居るか、他人に使ってもらおうというシステム開発敵意とが出ているためだろう。 自分は勉強して無いからVBAを避けているのかも。VBAを勉強しないと関数で出来る程度しか出来ないよ。 一応 Sheet2のA2:B4 に 123 梅 124 桃 125 栗 など入れてSheet1に3桁数字を入れてみると、匂いだけかげる。 Private Sub Worksheet_Change(ByVal Target As Range) On Error GoTo p1 Application.EnableEvents = False Target = Application.WorksheetFunction.VLookup(Target, Worksheets("Sheet2").Range("a1:B100"), 2, False) p1: Application.EnableEvents = True End Sub のようなので実験は可能だが、これを完成させるには色々勉強が必要。 本荒いエクセルVBAでは荷が重過ぎる。辞書などの面で。

  • mt2008
  • ベストアンサー率52% (885/1701)
回答No.3

オートコレクトを使ってみてください。 Excel2007だと Officeボタン→[Excelのオプション]→[文章校正]→[オートコレクトのオプション]ボタンを押下。 [オートコレクト]タブの「入力中に自動修正する」にチェックを入れて 修正文字列:123 修正後の文字列:お菓子 と、入力して<OK>で終了。これでセルに「123」と入れると「お菓子」と修正されます。

  • mshr1962
  • ベストアンサー率39% (7418/18948)
回答No.2

private sub worksheet_change(byval Target as excel.range) If Taget.Row = 1 '1行目限定 If Taget.column >= 1 or Taget.column <= 5 Then 'A-E列限定 Select Case Target.Value 'コード変換 Case 123 Taget.Value = "お菓子" Case 456 Taget.Value = "ジュース" Case.Else '確認メッセージ Msgbox "コードが入力されていないか、登録されていないコードです。" End Select End If End If End Sub

関連するQ&A

  • エクセルで数字を入力すると別のセルに変換して置換えするには

    すいません 誰かお助けを! A1セルに1、2、3、4のどれか1文字を入力するとB2セルにA、B、C、D(1はA、2はB、3はC、4はD)に変換した値を表示させたいのですが関数とかサイトをみたのですが 複雑な方法ばかりで入力方法が良く解りません 初心者でも簡単な入力方法を誰か御導きをお願いします 

  • エクセルで数字の入力

    エクセルで、セルに「9092123800037414」と入力して、Enterを押すと、「9.092+15」 と表示され、ツールバー(関数の挿入ボタンの右の部分)には、「9092123800037410」と表示されてしまいます。 最後の0を消して、4に入力しなおしても、Enterを押すと、同じようになります。 セルの書式設定で、数値、の表示にしても最後が0のままの表示になってしまいます。 なぜそうなるのでしょうか?またどうすれば、正しく入力したままの数字が確定されるのでしょうか?

  • エクセル2000:決まったセルに数値が入力されたらマクロを起動させたい

    エクセル2000:決まったセルに数値が入力されたらマクロを起動させたい。 たとえばセルA1に、1以上の数値が入力されたときに、セルA2に今日の日付を入力させる マクロの記述はどうすれば宜しいでしょうか? 以下の記述で、セルA2に日付は入力させられるのですが、 セルA1に1以上の数値が入力された場合に起動させる方法が分かりません。 Range("A2").Select SendKeys "^(;){ENTER}" ご教授の程、宜しくお願い申し上げます。

  • エクセルのデータの入力規則について

    エクセル2013を使用している初心者です。 以下の入力規則をしています。 (1)A1セルが「aもしくはb」の場合、B1セルに入力しエンターを押すと、警告文が出て入力出来ない。 (2)A1セルが「c」の場合、B1セルに「1,000」と金額が入力出来る。 ここまでは良いのですが、 (2)の状態でA1セルを「aもしくはb」に変更した時、B1セルに「1,000」と金額が入力されたまま残ってしまいます。 この時に「エラー!金額が入力されています」等のメッセージを表示させる事は可能なのでしょうか。 A1セルが「c」の場合、普通に数字を入力するので、セルに関数は入れられないと思うのですが。。。 因みにマクロは全くの初心者です。

  • フォントサイズを別のセルに入力された数字としたい 【エクセル】

    エクセル2003での質問ですが、例として セルA1(リンゴ) A2(みかん) と文字が入力されています セルB1(10)   B2(20)  とある計算をした数値が入力されています。たとえば、売れた個数などと思って下さい。 やりたいことは、セルA1, A2に入力されている文字のフォントサイズをB1, B2に入力された数値に自動的にしたいのです。 売れた個数(Bセルの数値)によって文字のサイズを変え、視覚的に強調したいのです。 つまり、 リンゴ(フォントサイズ 10) みかん(フォントサイズ 20) 自分で関数などを調べてみたのですが、出来る方法がわかりませんでした。 簡単にできる方法を希望です。マクロなどは詳しくはありませんがこれを機会に勉強してみようと思います。もし可能であれば教えて下さい。よろしくお願いします。

  • Excel 入力セル移動方法

    Excel 入力セル移動方法の質問です。 セルA5からA10まで入力した後、Enterキーだけで、セルB5まで移動させる設定方法はありますか? (行5から10をA・B・Cと移動したい) 入力範囲をドラッグする方法以外の方法がありましたら、教えて下さい。

  • エクセルのマクロ 並んだ数字の幾つかを抜き出してその合計を計算させたいのですが・・

    エクセルのマクロ(VBA)について、教えてください。 セルのA1からA2・・・A1000までに「01,03,06,08,20,」のように5つの数字がカンマで区切られて入力されています。 1.この5つの数字をb.c.d.e.f.の1から1000のそれぞれのセルに配置するマクロ 2.この5つの数字の数字の合計をb1から1000のセルに表示させるマクロは難しいでしょうか? MID関数をひとつづつのセルに入れていたのですが、マクロでできれば効率が良いと思い手引書等で考えたのですがよく分からないのです。

  • エクセルのマクロでの数式の入力に関しての質問です。

    エクセルのマクロでの数式の入力に関しての質問です。 特定のセルに =セルと同一行のA列の値 + セルの同一行のB列の値 というような数式を入力したいのですが 同一行の列の指定方法がわかりません。  例) 特定セル=C1 結果:C1=A1+B1 特定セル=C3 結果:C3=A3+B3 どなたかご教授よろしくお願いいたします。

  • エクセルの入力数字

    エクセルの練習をしています。シートのコピーや絶対参照、Rounddown関数やIf関数なども練習していた時、エクセルのシートに入力する数字が、すべて、小数点で確定してしまいます。例えば、  数字の1を入力・・・Enterを押すと0.01と変化します。今まで使ったすべてのシートだけでなく、新しいシートもそうなります。セルの解除などやってみましたが、直りません。教えてください。パソコンは、あまり詳しくありません。簡単な説明でお願いします。

  • エクセルで時間入力

    エクセル2003です 時間の入力について教えてください。 A1セルに 8:00と入力すると8.00 8:15と入力すると8.25 8:30と入力すると8.50 8:45と入力すると8.75 というように入力するには、表示形式又は関数をどのように設定すればいいか教えてください。 マクロやVBAではない方法で御願いします。

専門家に質問してみよう