電子書籍の厳選無料作品が豊富!

エクセルで作成した表に、特定の文字を入力したときだけ文字が変換されるようにするにはどんな方法がありますでしょうか。
たとえば
Aと入力したらAaに、
Bと入力したらB7に、、です。

またAと入力したらAの隣か下のセルにaを表示させる方法もあればお教えください。

よろしくお願い致します。

A 回答 (4件)

>エクセルで作成した表に、特定の文字を入力したときだけ文字が変換されるようにするにはどんな方法がありますでしょうか。


書式設定、VBA、アドイン、IMEの変更及び設定、キーボードドライバーの書き換え、レジストリなどにパッチなど、、
    • good
    • 0

入力セル自体を変更するにはVBAになると思いますが、隣のセル等でしたら関数で簡単に出来ます。


いくつか方法はありますが、パターンが少数で限定されているなら
IF(入力セル="A","a",入力セル)
といった具合で入力値をIF関数で判定すれば良いだけです
条件が複数あるのなら
IF(入力セル="A","a",IF(入力セル="B","7",入力セル))
といった具合に階層を作ればいくつでも対応出来ますし
Excelのバージョンが新しければIFS関数も使えます。
また、パターンが多くあるのであれば、対応表を作成しておいてVLOOKUP関数等で参照するのが好ましいのではないでしょうか(等と記載しましたが、他にINDEXやMATCH関数などが使えます)
お試しください
    • good
    • 1

あなたの言おうとしている条件が明確ではないのでこれ以上は回答できません。


 どういう条件なのか、目的は何なのか 詳しく書いてください。

セルの書式 で ユーザー定義 で @a とすれば   Aと入力したら Aa になり、Bと入力したら Ba になります

>Bと入力したらB7に、、です。
この意味がわかりません 7 はなんですか?
    • good
    • 0

こんばんは!



入力したセルのデータそのものを変更したい!というコトでしょうか?
VBAであれば可能です。

具体的な範囲が不明なので、
とりあえずA1~A10セルの範囲限定としてみました。
↓のコードをシートモジュールにしてください。

Private Sub Worksheet_Change(ByVal Target As Range)
 If Intersect(Target, Range("A1:A10")) Is Nothing Or Target.Count > 1 Then Exit Sub
  With Target
   If .Value = "A" Then
    .Value = "Aa"
   ElseIf .Value = "B" Then
    .Value = "B7"
   End If
  End With
End Sub

また、後者の
>Aと入力したらAの隣か下のセルにaを表示させる方法・・・

こちらももちろんVBAで可能です。
ただ、上記コードの場合とセルが重複する可能性があるので
今回は割愛します。m(_ _)m
    • good
    • 2

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

このQ&Aを見た人はこんなQ&Aも見ています