250分最高分求做一个EXCEL时间表,高手进

来源:百度知道 编辑:UC知道 时间:2024/06/17 15:22:29
这是一个时间递增表。只做出一列就可以。比如已知时间2008-7-2 20:33然后每隔43分钟递增一次,这样的表格当然简单如图:
问题:这样的类似列车时刻表的东西、在经过一段时间后变的过长,而过去的时间已没有意义。如何让做出的表格只显示最近3天(昨天、今天、明天)比如开始时间2008-7-2 20:33到8月15号的时候打开表格只显示8月14日、15日、16日三天内的时间。如果无法做出3天内,做个只显示当日时间的也可以
谢谢大家的帮助。每位朋友的方法我都做了尝试。有可行的有不可行的。用VBA编码虽然很方便但我个人对此不懂。尝试做了几列又不断遇到新问题。最后根据自己的实际情况,参照回答者:qinqh_yl的意见制作了一个时间表。
实际情况是表格初试时间不定期改变,表格是多列,每列初始时间相同、不同的递增时间。要求每次初始时间改变后只要在表单中改动一个数据即可。我制作的表单https://gss0.baidu.com/7LsWdDW5_xN3otqbppnN2DJv/%D6%D8%D0%C2%D7%B0%CF%B5%CD%B3/pic/item/cca9dccf5272dd1b92457e99.jpg

按你的要求做了一张时刻表。
方法很笨,贴出来,让砖家门来丢砖头:

a、b、c三列设置自定义格式为yyyy-mm-dd hh:mm
b1=today()-1;昨天的日期
b2=2008-7-2 20:33;起始时刻
b3=b2+time(0,43,0);等于上一格时刻加上43分钟
b3公式向下拖2500行左右,使出现昨天日期
c2=if(b2<b$1,"",b2)
双击c2填充柄,这样c列显示的第一个时刻将作为a列的起始时刻
a1=min(c:c);取c列的第一个时刻
a2=a1+time(0,43,0),双击a1填充柄
a列出现的时间(2500行)应该不止三天的了,要想少一点,可删掉一些,要想多一点,还可往下拖。
最后隐藏b列和c列。

用VBA代码实现:
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
cells(1,1) = DateValue("2008-7-2") + TimeValue("20:33:00")
While cells(1,1) < cells(1,2)
cells(1,1) = cells(1,1) + TimeValue("0:43:0")
Wend
'递加43分钟,直到满足要求
For i = 2 To 100
'3天:3*24*60/43=100.46,100行正好。
Cells(i, 1) = Cells(i - 1, 1) + TimeValue("0:43:0")
Next
End Sub
关闭代码窗口,b1输入=today()-1,回车。
VBA就是简单,复制代码过去就行了。前面的笨办法不好复制的。

在A1输入
=TEXT(TODAY()+TIME(20,33,0),&quo