自动更新excel中的单元格列表

时间:2018-06-07 12:23:51

标签: excel vba

我目前正在尝试为某些excel数据制作更新表。目的是使每月必须更新数据的人只需更新一个页面,数据就会转移到表格的其余部分。

需要更新的事项之一是每月更改的数字列表(示例如下所示)。是否有IF语句格式或可写入的宏,以便在黄色框中键入数字时,该数字将移至最近的日期,接下来的两个最近的数字将向上移动到列表中,以便仅显示过去三个月的数据。

我想我可能正在使用IF语句来阅读

=IF(ISNUMBER(C7),C7,C5)

检查黄色框中是否有数字,如果有,则用该数字更新单元格,如果没有,则保留该日期的当前数字。

我希望我能走上正确的道路,但如果没有,那么任何给予的帮助都将非常感激。谢谢!

enter image description here

更新:

我已经输入了这一小段代码,以便随时将数据输入到单元格C7中,单元格C4和C5中的数据向上移动一个。

Private Sub Worksheet_Change(ByVal Target As Range)     Dim sh As Worksheet     Dim x As Long,y As Long

Set sh = ActiveSheet

If Target = Range("C7") Then

    For y = 3 To 5

        For x = 3 To 3
            sh.Cells(y, x) = sh.Cells(y + 1, x)
        Next x
    Next y

End If

End Sub

我现在无法弄清楚如何在细胞移位后将数据从C7写入C5。到目前为止,我所尝试的一切都让Excel崩溃。我假设这是因为它没有结束循环,但我不知道如何解决这个问题,因为我对Excel中的VBA很新。

1 个答案:

答案 0 :(得分:0)

我基本上创造了类似的东西。我会发布它,所以你可以看看这是否有用:

This is where user adds his input

This is where the formulas are

第二张图片中“Maand”下的值都是基于当前月份和年份的动态值(使用索引公式)。然后使用vlookup获取用户在这些月份输入的值。它确实意味着您需要存储某种类型的数据。

你描述你希望公式如何看出哪个月最接近当前日期并将价值与月份存储的方式,我担心你需要vba(但如果有人不同意我也好奇:))< / p>