回答1
Chaagon さん
2023/12/11

Vba作成コード修正

ネット検索で調べてみてもわからないので
教えてください。
Private Sub Worksheet_Change(ByVal Target As Excel.Range)
Dim r As Range
For Each r In Target
If r.Column = 3 Then
r.Offset(0, -1).Value = Format(Now, "hh:mm:ss")
End If
Next r
End Sub

エクセルのセル3列目に入力した時刻を隣のセル2列目に自動入力されるようになっています。
同じエクセルシート上で6列目のセルに入力したら隣のセル5列目に時刻を自動入力反映されるようにしたいのですが分かる方ご教示ください。よろしくお願い致します。

0
通報する
zongai さん
2023/12/11

Private Sub Worksheet_Change(ByVal Target As Range)
 If (Target.Column = 3 Or Target.Column = 6) And Target.Value <> "" Then
  Target.Offset(0, -1).Value = Format(Now, "hh:mm:ss")
 End If
End Sub

これでいかがでしょう

0
通報する
質問者からの返信

ご教示ありがとうございます。
返信が遅くなり申し訳ありません。
教えていただいたコードにて作成致しましたが、3列目、6列目共に入力後にエラー表示がでてしまいます。
実行時エラー'424':
オブジェクトが必要です。と表示されます
Taget.Offset(0, -1).Value = Format(Now, "hh:mm:ss")のところが黄色ラインで表示されています。よろしければ、アドバイスをお願い致します。

「Vba作成コード修正」の補足画像

通報する
質問者からの返信

ご教示ありがとうございます。
返信が遅くなり申し訳ありません。
教えていただいたコードにて作成致しましたが、3列目、6列目共に入力後にエラー表示がでてしまいます。
実行時エラー'424':
オブジェクトが必要です。と表示されます
Taget.Offset(0, -1).Value = Format(Now, "hh:mm:ss")のところが黄色ラインで表示されています。よろしければ、アドバイスをお願い致します。

「Vba作成コード修正」の補足画像

通報する
質問者からの返信

ご教示ありがとうございます。
返信が遅くなり申し訳ありません。
教えていただいたコードにて作成致しましたが、3列目、6列目共に入力後にエラー表示がでてしまいます。
実行時エラー'424':
オブジェクトが必要です。と表示されます
Taget.Offset(0, -1).Value = Format(Now, "hh:mm:ss")のところが黄色ラインで表示されています。よろしければ、アドバイスをお願い致します。

「Vba作成コード修正」の補足画像

通報する
質問者からの返信

ご教示ありがとうございます。
返信が遅くなり申し訳ありません。
教えていただいたコードにて作成致しましたが、3列目、6列目共に入力後にエラー表示がでてしまいます。
実行時エラー'424':
オブジェクトが必要です。と表示されます
Taget.Offset(0, -1).Value = Format(Now, "hh:mm:ss")のところが黄色ラインで表示されています。よろしければ、アドバイスをお願い致します。

「Vba作成コード修正」の補足画像

通報する
質問者からの返信

ご教示ありがとうございます。
返信が遅くなり申し訳ありません。
教えていただいたコードにて作成致しましたが、3列目、6列目共に入力後にエラー表示がでてしまいます。
実行時エラー'424':
オブジェクトが必要です。と表示されます
Taget.Offset(0, -1).Value = Format(Now, "hh:mm:ss")のところが黄色ラインで表示されています。よろしければ、アドバイスをお願い致します。

通報する

お探しのQ&Aが見つからない場合は質問しましょう

このページの先頭へ