- ベストアンサー
エクセルでYESと入力したら日付が自動表示
A列に「YES」と入力されたらB列にその日の日付が自動で表示されるようにしたいです。 日付はYESと更新した日になっていてほしい(つまり値になっててほしい)です。 簡単なことなのかもしれませんが、全然できないので、お教えください!!
- みんなの回答 (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 シートモジュールはシートタブを右クリックするとメニューが出ます。 [コードの表示]を選択すると白い画面が出ますので、そこに貼り付けてください。
その他の回答 (3)
- chayamati
- ベストアンサー率41% (260/624)
今晩は >B列にその日の日付が自動で表示されるようにしたいです。 ★EXCELでは出来ません 例えば Today()関数が有りますが、翌日にファイルを開くと B列の日付は全て翌日の日付に代わってしまいます。 !日付の入力は確かに面倒ですね、日付入力の省略入力を考えられては 1.「月/日」入力…入力した年を補足してくれる 2.「西暦下2桁の年/月/日」/月/日…西暦の年の上2桁を補足してくれる。 補足:日付の実体は シリアル値という年月日に時分秒を含み、数値とは区別されます また添付のように表示書式で曜日を含めた西暦表示、和暦表示が可能です。
お礼
ありがとうございます。 日付は難しいです…。
- SI299792
- ベストアンサー率47% (774/1620)
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
お礼
ありがとうございます!! やはり関数では無理なんですね。 この方法でもやってみます!!
- aokii
- ベストアンサー率23% (5210/22062)
「日付はYESと更新した日になっていてほしい(つまり値になっててほしい)」の意味が良く解りませんが、そのエクセルファイルを開いた時の日付にするのでしたら、A1セルにYESと入力する場合は、以下の式をB1セルに入れて、下にドラッグコピーしてみてください。なお、B列のセルの書式は日付にしてください。 =IF(A1="YES",TODAY(),"")
お礼
早速のご教授ありがとうございます。 説明が分かりづらく申し訳ありませんでした。 入力した日を入れたくて、ファイルを開く度に変わってしまう形ではないという意味でした。 すみません。
お礼
ありがとうございます!! 教えていただいたやり方でやってみます!!