iwana1999回答ポイント なしウォッチ

エクセルマクロの問題でお願いします。


E1セルにデーターが自動記入されると、5行目から下にデーターが追加するようになっています。
任意の行(仮に100行とします)まで書き込んだ以降は、常に最下行の100行目にデーターが書き込まれて、其れより上のデーターは1行ずつ繰り上がり、古いデーターは消去される、様にマクロを修正したいのですが、どのようにすれば良いでしょうか?

マクロ
Private Sub Worksheet_Change(ByVal Target As Range)

Const Target_Column = 5 ' E列
Const Start_Row = 5 ' E5 を開始
Const Input_Row = 1 ' E1 を入力

' E1 かどうか確認
If Target.Row <> Input_Row Or Target.Column <> Target_Column Then Exit Sub


Application.EnableEvents = False


If IsEmpty(Cells(Start_Row, Target_Column)) Then
Target_Row = Start_Row
ElseIf IsEmpty(Cells(Start_Row + 1, Target_Column)) Then
Target_Row = Start_Row + 1
Else
Target_Row = ActiveSheet.Cells(5, Target_Column).End(xlDown).Row + 1
End If

Cells(Target_Row, Target_Column).Value = Cells(1, Target_Column).Value
Cells(Target_Row, 2).Value = Cells(1, 2).Value
Cells(Target_Row, 3).Value = Cells(1, 3).Value
Cells(Target_Row, 4).Value = Cells(1, 4).Value

If Cells(Target_Row, Target_Column).Value <> "" Then
Target.Offset(Target_Row - 1, -4).Value = Date + Time
End If

Application.EnableEvents = True

End Sub

ログインして回答する

ベストアンサー

その他の回答

この質問へのコメント

コメントはありません

この質問への反応(ブックマークコメント)

質問の情報

登録日時
2019-06-30 08:31:29
終了日時
2019-07-05 17:00:53
回答条件
1人5回まで

この質問のカテゴリ

この質問に含まれるキーワード

value13const51EXIT194

人気の質問

メニュー

PC版