- ベストアンサー
Excelで日付と時間の自動入力
教えてください。 エクセルで表を作っているのですが、 D列に文字を入力すると、 A列に入力した日付 B列に入力した時間 を「自動で」表示させたいのですが…マクロやVBAなどでできますでしょうか? できれば、D列の文字を消すと日付と時間も消えるようにしたいです。 初心者で申し訳ないのですが、よろしくお願いします。
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
No.2です。 Range("A" & r.Row).Clear Range("B" & r.Row).Clear の部分を Range("A" & r.Row).Value = "" Range("B" & r.Row).Value = "" に変えて下さい。
その他の回答 (2)
- don9don9
- ベストアンサー率47% (299/624)
シート名を右クリックして「コードの表示」を選ぶと Visual Basic Editorが起動しますので、 以下のコードを貼り付けて下さい。 Private Sub Worksheet_Change(ByVal Target As Range) Dim rng, r As Range If Target.Column <> 4 Then Exit Sub Set rng = Intersect(Target, Range("D:D")) If rng Is Nothing Then Exit Sub For Each r In rng If r.Value <> "" Then Range("A" & r.Row).Value = Format(Now(), "yyyy/mm/dd") Range("B" & r.Row).Value = Format(Now(), "hh:mm:ss") Else Range("A" & r.Row).Clear Range("B" & r.Row).Clear End If Next r End Sub 下記URLのChangeイベントのあたりが参考になると思います。
お礼
ありがとうございます!! 希望どうりにちゃんと時間と日付の表示ができました! ただ、1度Deleteすると、罫線や条件付書式などの書式設定が消えてしまうのですが…なにか対処できますでしょうか? 重ねて質問して申し訳ございません。
- gyouda1114
- ベストアンサー率37% (499/1320)
条件付き書式ではいけませんか D1が空白の時はA1及びB1セルのフォントの色を白くするという条件付き書式。 A1とB1を選択 → 書式 → 条件付き書式 → 条件1(1)を「数式が」に → 右ボックスに「=$D1=""」 → 書式(F)をクリック → フォント → 色を「白」 → OK A1とB1をコピー → A2・B2以下の行を選択 → 形式を選択して貼り付け → 書式をポイント → OK 参考 条件付き書式の使い方 http://www.eurus.dti.ne.jp/~yoneyama/Excel/jyo-syo.html#settei
お礼
早速のご回答ありがとうございます。 実はこのデータは電話を受信し応答しながら打ち込んでいくので、 できるだけ手間を省きたく、日付・時間を自動で入力したいと思っています。 なので、条件付を設定しても後で時間を手入力しなくてはいけないので…難しくても、マクロやVBAで実現できればと思っています。
お礼
>don9don9様 ありがとうございます!! 完璧に希望どうり出来ました! 今後、メンテナンスなど出来るように、マクロ・VBAの勉強頑張ります。 ありがとうございました~!!