我目前正在尝试为某些excel数据制作更新表。目的是使每月必须更新数据的人只需更新一个页面,数据就会转移到表格的其余部分。
需要更新的事项之一是每月更改的数字列表(示例如下所示)。是否有IF语句格式或可写入的宏,以便在黄色框中键入数字时,该数字将移至最近的日期,接下来的两个最近的数字将向上移动到列表中,以便仅显示过去三个月的数据。
我想我可能正在使用IF语句来阅读
=IF(ISNUMBER(C7),C7,C5)
检查黄色框中是否有数字,如果有,则用该数字更新单元格,如果没有,则保留该日期的当前数字。
我希望我能走上正确的道路,但如果没有,那么任何给予的帮助都将非常感激。谢谢!
更新:
我已经输入了这一小段代码,以便随时将数据输入到单元格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很新。