- ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:Excelのマクロについて)
Excelマクロ初心者向け!アクティブなセルから右に6つ目のセルとそのセルから右に1つ、下に1つ目のセルに現在の時間を記入する方法
このQ&Aのポイント
- Excelについて全くの初心者で、マクロを作成したい場合、アクティブなセルから右に6つ目のセルとそのセルから右に1つ、下に1つ目のセルに現在の時間を記入することができます。
- 以下のマクロを記述すれば実現できますが、的はずれかもしれませんので、参考までにご覧ください。
- Sub 時間入力() ActiveCell.Offset(0, 6).Activate SendKeys "^(:)" SendKeys "{TAB}" ActiveCell.Offset(1, 0).Activate SendKeys "^(:)" SendKeys "{TAB}" End Sub
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
SendKeyは不安定みたいなので使わないほうがよろしいかと。 一例ですが Sub 時間入力() ActiveCell.Offset(0,6)=Format(Time,"hh:nn") ActiveCell.Offset(1,7)=Format(Time,"hh:nn") End Sub Formatは、数値の体裁を指定する関数です。 秒まで必要なら、"hh:nn:ss" などとして使います。 ただし、該当セルに書式設定がある場合は、そちらが優先されます。 日付が欲しいなら、TimeをDateに書き換えます。 日付+時刻の両方なら、Nowを使います。 ちなみに・・SelectやActivateを使っていないので、 ActiveCellはあくまでも「マクロを走らせた瞬間の」アクティブセルです。 なので、マクロの2行目でも、アクティブセルから1行・7列Offsetしてやります。
その他の回答 (1)
- kybo
- ベストアンサー率53% (349/647)
回答No.1
以下でよろしいかと。 Sub 時間入力() ActiveCell.Offset(0, 6).Value = Date ActiveCell.Offset(0, 7).Value = Date ActiveCell.Offset(1, 7).Value = Date End Sub
お礼
すぐに回答していただき、ありがとうございました。