• ベストアンサー

エクセル 一文字入力すると自動で指定の文字が入力できる方法

エクセルである特定の列のセルに uと入力するとunsoldと自動で入力し確定するようにしたいのですが、 可能でしょうか。

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

  • ベストアンサー
  • merlionXX
  • ベストアンサー率48% (1930/4007)
回答No.4

> D列とJ列に反映させたいのですが yoshi0518さん、おはようございます。#2のmerlionXXです。 ちょっと複雑になりましたが、以下でどうでしょう? Dが4、Jが10です。 Private Sub Worksheet_Change(ByVal Target As Range) If Target.Column <> 4 And Target.Column <> 10 Then Exit Sub Application.EnableEvents = True On Error GoTo line If Target.Count > 1 Then If ActiveCell.Value = "u" Then Intersect(Selection, Columns(4)).Value = "unsold" Intersect(Selection, Columns(10)).Value = "unsold" End If Else If Target.Value = "u" Then Target.Value = "unsold" End If line: Application.EnableEvents = True End Sub

yoshi0518
質問者

お礼

本当にありがとうございます。 できました! とてもとても助かりました!

全文を見る
すると、全ての回答が全文表示されます。

その他の回答 (3)

  • sab909
  • ベストアンサー率27% (60/217)
回答No.3

 u と一文字を入力すれば、unsold と入力されればいいのですか?それ(unsold)以外で u を単独で入力する事も無いと? なら「オートコレクト」に追加してやるのが無難かと…  「ツール」→「オートコレクトのオプション」で「オートコレクト」タブの「□入力中に修正する」にチェックを入れ、その下「修正文字列」に「 u 」とし、「修正後の文字列」に「 unsold 」と入力して「追加」  これで セルに u と入力し、Enterキーや、別のセルに移った時は「unsold」と入力されていると思います。  この追加したオートコレクトが必要が無くなった時は、↑から「削除」するか「オートコレクト」を無効にして下さい。  ただ、文頭にも書きましたが、それ以外で「 u 」を単独(一文字)で入力しなければいけない場面に遭遇した時には「オートコレクト」が適用されてしまうので、用事が済んだなら「オートコレクト」を無効にするか「 u 」で作ったオプションを削除して下さいね。  これで望みは叶いますか…?

yoshi0518
質問者

お礼

どうもありがとうございます。 この方法だと他でエクセルを使うときにも反映されてしまうのですね。 毎回オートコレクトON OFFは面倒な気がしてしまいました。 何か方策はありますかねえ。

全文を見る
すると、全ての回答が全文表示されます。
  • merlionXX
  • ベストアンサー率48% (1930/4007)
回答No.2

「ある特定の列」をB列と仮定した場合、以下のコードで実現可能です。 1.シートのタブを右クリックし、「コードの表示」を選択。 2.出てきたVisualBasicEditor(白い部分)に下記のコードをコピペ。 '*****ここから下をコピペ***** Private Sub Worksheet_Change(ByVal Target As Range) If Target.Column <> 2 Then Exit Sub If Target.Count > 1 Then If ActiveCell.Value = "u" Then Intersect(Selection, Columns(2)).Value = "unsold" Else If Target.Value = "u" Then Target.Value = "unsold" End If End Sub '*****ここより上までをコピペ***** 3.AltキーとF11キーを同時に押してワークシートへもどります。

yoshi0518
質問者

お礼

どうもありがとうございます。 うまくいきそうなのですが、D列とJ列に反映させたいのですが どこを変えたらいいのでしょうか。 ちょっと分からないので教えてください。

全文を見る
すると、全ての回答が全文表示されます。
回答No.1

IMEに辞書登録するか、 http://members.at.infoseek.co.jp/kurenai346/touroku.html オートコレクトに追加するか。 http://www.yoshikawa.co.jp/ybs/skilup/ybs0211.htm この二つのやり方が一般的だと思います。お好きな方を選んでください。

yoshi0518
質問者

お礼

ありがとうございます。

全文を見る
すると、全ての回答が全文表示されます。

関連するQ&A

  • Excelで、特定のセルに入力した文字列に、自動的に指定した文字が追加

    Excelで、特定のセルに入力した文字列に、自動的に指定した文字が追加されるようにする関数はありますか? 例えばA1に、123-4567と入力してエンターを押せば、自動的に文頭にAが付与されて、A123-4567となり、 B1に、abcdefと入力してエンターを押せば、自動的に末尾に-001が付与されて、abcdef-001となるようにしたいのです。 処理上必要なので毎回手入力しているのですが、付与すべき文字列が入力欄ごとに決まっているので、自動的に処理できたら楽なのにと常々考えています。 ものぐさで申し訳ありません。知ってらっしゃる方お願いします。

  • Excelと日本語入力

    Excelの特定列のセルを選択すると自動的に日本語が入力出来る設定を教えてください。

  • エクセルにて語句の前後に文字を自動でいれる方法

    エクセルについての質問です。 添付画像のように、通常エクセルにて文字を入力した際はA1-A5のように文がそのまま入力されますが、B1-B5のように、特定の領域に入力した文の前後に自動的に文字列をいれる方法を探しています。(テスト と入力すると前後に自動的に●が入力され●テスト●になるように) マクロやセルの書式設定を使い、こういった方法が可能であれば是非教えてください。 宜しくお願いします。 使用ソフトはOpen Office及びOffice2003/2010です。

  • エクセル ある文字列を入れるとある文字列を返す

    エクセルでの関数、ど素人です。一応自分で調べたのですが、無理なので質問させていただきます。よろしくお願いいたします。 エクセルで、時刻ですが文字列として1745~2345までを手入力します(1745,とか2000とか2330とか。。。。。) 入れた文字列によって、すぐ横のセルに1745、1800、1815であれば8.00、1830からは0.25刻みで8.25、1845であれば8.50、1900であれば8.75。。。。2330であれば13.25、2345であれば13.50と言ったように、入力した文字列に対しある特定の文字列を自動的に入れたいのですが、どのような関数を使えばよろしいのでしょうか。 私が行おうとしたのは、別シートに文字列一覧を作り、if(特定のセル(手入力するセル)=別シートの1745~2345まで、横のセル=別シートの8.00、8.00、8.00~13.50まで)や、sumif、lookupを使ってみましたが撃沈です。 どなたか教えていただきたく、お願いいたします。

  • エクセルで数字の自動入力について

    すみません。 現在、仕事でエクセルに自動で番号が振られていくシートを作りたいと思っています。 エクセル 2003 OS WINDOWS VISTA A1のセルから始まる表で例えばG1に"済”か”未"の文字が入力されるとA1のセルに『1』G2に入力されるとA2には『2』という具合に G列に文字が入力されると自動でA列に数字が入力される、という設定にしたいのです。 IFやVLOOKUPで挑戦してみましたが、いまいちうまくいきません。。。 どなたか、お詳しい方がいらしたらご教示お願いいたします。 

  • エクセルで入力した文字列を他のセルにも自動的に入力できるようにしたいです。

    エクセルで文字列を入力した場合、指定したセルにも同じ文字列が自動的に入力されるようにしたいと思っています。 調べたところ貼り付け時に形式を選択して貼り付ける「リンク貼り付け」というのがあるので試してみたんですが、 貼り付け先の空白のセルに強制的に0が入力されてしまいます。 リンク貼り付けを保持したまま空白セルを空白セルのままにすることはできないでしょうか。 よろしくお願いいたします。

  • エクセルで入力した数値によって自動で入力される数式?

    エクセルで台帳を作っているのですが、 別の列のセルに入力した数値によって、 指定したセルに自動でA,B,C等と入力されるようにするにはどのように設定すればいいのでしょうか。 A列に0~1.1なら B列に A 1.2~2.9なら B 3.0以上なら C のように数字の範囲によってABCと表示されるようにしたいのです。 エクセルの数式等は簡単なものしかわからず、どのように調べたらよいかもわかりません。教えていただけたら助かります。

  • キーワードを入力すると、ExcelのVLOOKUP

    キーワードを入力すると、ExcelのVLOOKUP関数のように、表の中の一番左側の列からキーワードと同じ値のセルを探して、その行にある別のセルの文字列を、ある特定の場所に自動入力させることはできますか?

  • エクセルの自動入力について

    エクセルの自動入力について 例えば、A列に「1120」と入力したら、B列はA列の4桁の一桁目に反応して「1年」と自動的に入力される機能はありますか? A列が2354ならB列は2年。 A列が5603ならB列は5年。 という風に。 私が使っているのはエクセル2000です。 ご存知の方いらっしゃいましたらよろしくお願いいたします。

  • Excel 隣のセルの頭文字に応じて文字を自動入力

    Excelの質問です。 隣のセルに入力された文字列の頭の文字に応じて、セルに自動的に文字を入力するにはどうすればよいのでしょうか?関数初心者です。 具体的には、 A1のセルに「T○○○○○」(○は任意の数字)が入力されていれば、頭文字がTなので、B1のセルに東京と自動的に表示する。 A2のセルに「N○○○○○」(○は任意の数字)が入力されていれば、頭文字がNなので、B2のセルに長野と自動的に表示する。 です。 よろしくお願いします。