VBAの問題です。出勤ボタンを押したら現在時刻が出勤時間の列に出力されるようにするため、アクティブになっているセルを取得して、その行の出勤時間の列に時間が出力されるようにしました。セルを選択しなくても時間を出力する良い方法はあるでしょうか。このような処理をしたい場合、一般的にはどのような記述をするのか気になり質問しました。Sub 出勤() Dim targetRow As Long Dim 出勤列 As Long ' 出勤時間を入力する列 出勤列 = 5 ' 現在アクティブセルの行番号を取得 targetRow = ActiveCell.Row ' 1~7行は無効 If targetRow \u0026lt; 8 Then MsgBox \u0026quot;入力したい日付行を選択してからボタンを押してください。\u0026quot; Exit Sub End If ' アクティブセル行の出勤列に現在時刻を入力 Cells(targetRow, 出勤列).Value = Format(Now, \u0026quot;hh:mm\u0026quot;) End Sub

1件の回答

回答を書く

1114878

2026-02-11 15:10

+ フォロー

質問 A8:A38 の日付の部分はシリアル値が入っているのでしょうか?



下記でいかがでしょうか?



Sub 出勤記録()

Dim index



index = Application.Match([today()],[A8:A38].value,0)



If not isError(index) Then

Cells(index+7,5) = [now()]

Elif

' このシートに日付がない時の動作を記述

MagBox(\u0026quot;シートが違います。\u0026quot;)

End if

End Sub

うったえる有益だ(0シェアするブックマークする

関連質問

Copyright © 2026 AQ188.com All Rights Reserved.

博識 著作権所有