首页 > 解决方案 > 如何始终将最新数据记录在第一行?

问题描述

基本上,我在一列中每分钟记录一次数据。但是,数据是从上到下记录的。这意味着最新的数据将不断向下记录,而最旧的数据始终在顶部。有没有办法让最新记录的数据总是在最前面,而以前的数据却向下移动?

这是我的代码(我有两个单元格要修复)

Private Sub Worksheet_Calculate()
    Application.EnableEvents = False
    Me.Range("D" & Me.Rows.Count).End(xlUp).Offset(1).Value = Me.Range("B2").Value
    Me.Range("C" & Me.Rows.Count).End(xlUp).Offset(1).Value = Me.Range("B3").Value
    Application.EnableEvents = True
End Sub

我提前感谢您的评论。

标签: excelvba

解决方案


一种方法是在顶部添加新单元格。

Private Sub Worksheet_Calculate()
    Application.EnableEvents = False
    With Me
        .Range("C2:D2").Insert Shift:=xlShiftDown   'add new cells at top, shift old cells down
        .Range("D2").Value = Me.Range("B2").Value
        .Range("C2").Value = Me.Range("B3").Value
    End With
    Application.EnableEvents = True
End Sub

推荐阅读