• ベストアンサー

セルに文字を入力した日を別のセルに表示させたい

セルA1には「×」が入力されていて この「×」が「○」に変わった日を、セルB1に表示させたいです。 (※その表示される日は固定させる) 「○」に変わった日を、セルB1で Ctrl +;キーで表示すればすむ話ではありますが 自動的に表示される方法があるのであれば、ちょっとでもラクをしたいです(笑) 調べていたところ シート名を右クリックして『コードの表示』を選択してコードを貼り付ける方法を見つけたのですが その方法は、セルに文字を入力した日を表示させる方法だったので http://detail.chiebukuro.yahoo.co.jp/qa/question_detail/q1216349717?fr=chie-websearch-1&k=HcMKlov.70mDzVhMRZleWnNudYpKoEkRqE1VuuoUf6pHgodu3O3vqG4bUVuOLvq9ikgThjpnLFWob2GqtjrJDY_ruhlsfWLN6v0NaHBFirNVstbbbM7WYZy6FUGsQWj3SnHn8ZM8EgMifr4mAv.yNObqN7WT3CMghTwOlsaOgqJhT1tBKyxJTBbB7jf93cBmq2V5fl3et.lJVL5fn2i2EaIMbD4XjKY260pVKvpVad3Ilo_eewhJb3fGo3f4ZgZHg1_k0PB7BUwdI3cGGe8N3h3GdtVdujCTkGlKDizNhei_eFrgnJFGBYOJBwkGRjyzNPqwZZ8c8JeMzR43cvduQQvqZcsD74mnJlrNlThSolqo21qJ6M1.Q5K8ZUqYP3ZP5X.CCFzqgujUh7r9AFzjmi54gqNdFujyFsUKD_CfKsyGVTQqQYaii75YSRvrXWpC_T5yIq7KQC0- すでにセルに入力されている文字が お目当ての文字に変わった日を表示できる方法があれば 教えてください。 よろしくお願いします。

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

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

merlionXXです。 では、これでどうでしょう? オートフィルにも対応させました。 Private Sub Worksheet_Change(ByVal Target As Range) Dim c As Range If Intersect(Target, Range("A1:A50")) Is Nothing Then Exit Sub For Each c In Intersect(Target, Range("A1:A50")) If c.Value = "○" Then c.Offset(0, 1).Value = Date Else c.Offset(0, 1).ClearContents End If Next End Sub

ajyapa-paso
質問者

お礼

ふたたびのアドバイス、ありがとうございました! 私の考えていたことができるようになって感激です♪ またなにかありました時は、よろしくお願いします。(^^)

その他の回答 (2)

  • hige_082
  • ベストアンサー率50% (379/747)
回答No.3

一例です Private Sub Worksheet_Change(ByVal Target As Range) Dim Rng As Range Application.EnableEvents = False For Each Rng In Target If Not Intersect(Rng, Range("A:A")) Is Nothing Then If Rng.Value = "○" Then Rng.Offset(, 1).Value = Date End If End If Next Application.EnableEvents = True End Sub

ajyapa-paso
質問者

お礼

アドバイス、ありがとうございました。 こちらの方法も参考とさせていただきます。(^^) またなにかありましたときは、よろしくお願いします。

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

Private Sub Worksheet_Change(ByVal Target As Range) If Target.Address(0, 0) <> "A1" Then Exit Sub If Target.Value <> "○" Then Exit Sub Range("B1").Value = Date End Sub ですね。

ajyapa-paso
質問者

補足

さっそくのアドバイスありがとうございます。 うまく表示ができました(^^) 今は「A1」「B1」とセルを指定していましたが もしA列の複数セルに表示されている「×」のどれかが「○」に変わったときにも その変えた日が「B列」のセルに表示させることはできるでしょうか? EX)A列のA1~A50まで「×」の表示あり  A5のセルに変更があった→B5のセルに変更があった日を表示  A9のセルにも変更があった→A9のセルに変更があった日を表示

関連するQ&A

  • セルに入力したら、別の特定セルに文字表示させるには

    似たようなQ&Aはあったのですが、求めているものとは少し違うので質問させていただきます。 エクセルで、指定したセルに数値を入力したら、 別シートの特定セルに特定文字列を表示させる ということはできませんか。 例えば、sheet1のセルB3に「2」と入力したら sheet2のセルB5に「●」と表示 次に、sheet1のセルB4に「6」と入力したら sheet2のセルD11に「●」と表示 次に、sheet1のセルC3に「4」と入力したら sheet2のB9に「○」と表示           のようなかたちです。 sheet1の入力範囲は、B3:I85程度 sheet2の入力範囲は、B3:FZ170程度で、特定セルは重複しない 表示されるのは、「●」「○」などの文字列 です。 途中経過として、MATCH関数、ADDRESS関数を利用して sheet1のセルに数値入力をしたら sheet2の入力すべきセル番地を求めることまではできたのですが その求めたセルがすべて異なるので、それぞれのセルに移動させて 文字列を表示させることができずに困っています。 解決法をご存知の方、どうぞよろしくお願いいたします。

  • エクセル VBA セルに値を入力したら入力日を表示

    エクセルに不慣れなため、質問が分かりづらかったら申し訳ありませんがご回答をお願いいたします。 エクセルファイルにある項目を入力したら、入力日を自動表示させたいと考えています。 セルB2に何かを入力したら、4行下のB6に入力日が自動表示 セルB10に何かを入力したら、6行下のB20に入力日が自動表示 セルB20に何かを入力したら、6行下のB26に入力日が自動表示 下記のサイトでB2に対する処理は出来ましたが、 B10・B20に対して処理が行えません。 B2に対するコードは下記の通りとしていますが、このコードにB10・B20に対するコードを追加するにはどうしたらよいでしょうか。 Private Sub Worksheet_Change(ByVal Target As Range) If Target.Address(0, 0) <> "B2" Then Exit Sub Application.EnableEvents = False Target.Offset(4, 0).Value = Now Application.EnableEvents = True End Sub https://detail.chiebukuro.yahoo.co.jp/qa/question_detail/q1413855689

  • (2つのセルに入力されている文字を、ひとつのセルに表示したい

     A1のセルに「あいうえお」B2のセルに「かきくけこ」と入力されているとします。  A1とB2、別々のセルに書かれている文字を、C1のセルに「あいうえおかきくけこ」と、まとめて表示させたいのですが、何かいい方法はありますでしょうか?

  • 【エクセル】指定したセルに入力することで、別の特定のセルに決まった文字を表示させるには?

    社用データを作る際の手間を省こうとしたのに、かえって難しくなってしまいました(-"-;) 分かりにくい質問で恐縮ですが、よろしくお願いします。 現在Excel2003を使っています。 「指定したセルに文字・数字問わず入力があった場合、特定のセルに特定の文字を表示させる数式(または方法)」は無いでしょうか。 (できれば指定したセルに入力が無い限り、特定文字を表示させるセルは非表示のままにしたいと思っています) ↓ 例えば、「A1のセルに『○田×男(人名など)』と入力した時、B1のセルに『様』と表記させる」と言った具合です。 (このとき、A1に入力が無ければB1も空白のままにしておきたいのです) 手動で入力した方が早そうな気もしますが、応用次第で他の表や作業もスッキリしそうなので、手があれば是非ご教授下さい。

  • エクセルで、左側のセルに数字入力⇒右隣のセルに文字列を表示する方法

    エクセルで、左側のセルに数字入力すると、右隣のセルに文字列が表示される方法を教えてください。 1~500ほどのコードと、それに対応する顧客名のコードを昇順に並べたリストがあります。顧客コードを入力すると顧客名が隣のセルに自動的に表示されるようにしたいです。よろしくお願い致します。

  • 1つのセルの数字を複数のセルに1文字づつ表示したい

    こんばんは。 いつも勉強させていただいています。 下記について、ご教示いただければ幸いです。 K1セルには、最小で1桁から最大で9桁までの数値が入力されます。 それを A1からI1までに1つづつ表示させたいのです。 例1) K1 に 10105 と入力した場合 A1からD1まではブランク E1に1、F1に0、G1に1、H1に0、I1に5 例2) K1 に 101050235 と入力した場合 A1に1、B1に0、C1に1、D1に0、E1に5、F1に0、G1に2、H1に3、I1に5 なお、同じシートの他のセルには0を入力する場合があるため、「ゼロ値のセルにゼロを表示する」のチェックを外すことはできません。 私なりに考えたのは、K1セルの数値をL1に =TEXT(K1,"000000000")として文字にし、M1から右のセルに =MID($K$1,1,1) というように各桁を抜き出す方法だったのですが、10000 のように丸い数字をK1に入力すると 1 は表示できても 0 がブランクになってしまいます。 いい方法がありましたら、ぜひご教示下さい。 よろしくお願いいたします。

  • エクセルのセルに入力中の文字

    以前、XPの時にはエクセルのセルにも入力中の文字が表示されていましたが、7にしたら入力中の文字や数字は上の数式の表示の枠にしか出なくなりました。何とかセル内に出す方法があったら教えてください。

  • 入力すべきセルを促す表示

    空白部分のセルに数値や文字を入力するだけで出来上がる形のフォーム(雛形?)のアンケート用紙などを作成したとき、入力すべきセルが作業画面上やプレビューでは見える(他のセルとは違った表示)が印刷したときには反映されない表示方法はありませんか?たとえば入力すべきセルに色をつけてそれを促すが印刷したときには色はつかない・・ような

  • 計算式が入っているセルに文字を入力

    エクセルのセルには文字が表示されてあり、そのセルを選択すると計算式が表示される場合、選択する前に表示されている文字を編集・入力する方法を教えてもらえますか?

  • セルに入力されている文字をくっつけたい。

    エクセル2010です。 よろしくおねがいします。 セルE15~E23に入力されている文字を ひとつにくっつけて 表示したいんですが・・・ 全部文字が入力されているときも あるのですが 入力がないときまあります。 その場合は D1には 何も表示しないようにしたいのです。 例えば E15にA       E16にB      E17にC  E18~E23は入力なしとして D1に ※文字です。→A・B・C と 一つのセルに表示させるには どういう関数になりますでしょうか? よろしくお願いします。

専門家に質問してみよう