• ベストアンサー

エクセルでYESと入力したら日付が自動表示

A列に「YES」と入力されたらB列にその日の日付が自動で表示されるようにしたいです。 日付はYESと更新した日になっていてほしい(つまり値になっててほしい)です。 簡単なことなのかもしれませんが、全然できないので、お教えください!!

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

  • ベストアンサー
  • watabe007
  • ベストアンサー率62% (476/760)
回答No.4

>A列に「YES」と入力されたらB列にその日の日付が自動で表示 VBAを使います。 以下のコードをシートモジュールに貼り付けてください。 Private Sub Worksheet_Change(ByVal Target As Range)   With Target     If .Count > 1 Then Exit Sub     If .Column <> 1 Then Exit Sub     If LCase(.Value) = "yes" Then .Offset(, 1).Value = Date   End With End Sub シートモジュールはシートタブを右クリックするとメニューが出ます。 [コードの表示]を選択すると白い画面が出ますので、そこに貼り付けてください。

ww00771155
質問者

お礼

ありがとうございます!! 教えていただいたやり方でやってみます!!

その他の回答 (3)

  • chayamati
  • ベストアンサー率41% (260/624)
回答No.3

今晩は >B列にその日の日付が自動で表示されるようにしたいです。 ★EXCELでは出来ません  例えば Today()関数が有りますが、翌日にファイルを開くと  B列の日付は全て翌日の日付に代わってしまいます。 !日付の入力は確かに面倒ですね、日付入力の省略入力を考えられては  1.「月/日」入力…入力した年を補足してくれる  2.「西暦下2桁の年/月/日」/月/日…西暦の年の上2桁を補足してくれる。 補足:日付の実体は  シリアル値という年月日に時分秒を含み、数値とは区別されます  また添付のように表示書式で曜日を含めた西暦表示、和暦表示が可能です。  

ww00771155
質問者

お礼

ありがとうございます。 日付は難しいです…。

  • SI299792
  • ベストアンサー率47% (774/1620)
回答No.2

YES と入力した日付を保存したいのであれば、関数では無理です。 関数だと、更新されて当日になってしまいます。 このマクロを日付を出したいシートに入れてください。 ' Private Sub Worksheet_SelectionChange(ByVal Target As Range) '   If Target.Column > 1 Or Target.Count > 1 Then     Exit Sub   End If '   If Target <> "YES" Then     Exit Sub   End If '   Application.EnableEvents = False   Target.Offset(0, 1) = Date   Application.EnableEvents = True End Sub

ww00771155
質問者

お礼

ありがとうございます!! やはり関数では無理なんですね。 この方法でもやってみます!!

  • aokii
  • ベストアンサー率23% (5210/22062)
回答No.1

「日付はYESと更新した日になっていてほしい(つまり値になっててほしい)」の意味が良く解りませんが、そのエクセルファイルを開いた時の日付にするのでしたら、A1セルにYESと入力する場合は、以下の式をB1セルに入れて、下にドラッグコピーしてみてください。なお、B列のセルの書式は日付にしてください。 =IF(A1="YES",TODAY(),"")

ww00771155
質問者

お礼

早速のご教授ありがとうございます。 説明が分かりづらく申し訳ありませんでした。 入力した日を入れたくて、ファイルを開く度に変わってしまう形ではないという意味でした。 すみません。

関連するQ&A