分类目录归档:拾遗

用python生成时间列表

Q: 计算2017-02-22到2017-04-02的时间列表

A:   

from datetime import timedelta, date
def get(start,end): # get("2017-02-24","2017-04-02")
    #startList = start.split('-')
    #start_day = date(int(startList[0]),int(startList[1]),int(startList(2))
    #end_day = date(int(startList[0]),int(startList[1]),int(startList(2))
    start = date(2017,2,22)
    end = date(2017,4,2)
    delta = timedelta(days=1)
    ndays = abs(end-start).days
    b = []
    for i in range(ndays):
        newday = start + delta
        aa = newday.isoformat()
        b.append( aa )
        start = newday

    return b

用VBA实现B1=A1+B1

做会计的人让我帮忙解决一个问题:

假如现在B1单元格的数是100,我在A1里输入50,回车后,B1的数值就累加到150了,下次我再到A1里输入20,B1单元格里数值又累加到170了

看似简单的问题,其实excel的基本功能是不能实现,需要编程。直接给出答案:

1. 点击”文件->选项->保存”,选择”Excel启用宏的工作薄(*.xlsm)”

2. Alt+F11,打开”sheet x”.

3.写入代码:

  

Private Sub Worksheet_Change(ByVal Target As Range)
For i = 1 To 50
If Target.Address = Cells(i, 1).Address Then
Range(Cells(i, 2).Address) = Range(Cells(i, 2).Address) + Target.Value
End If
Next
End Sub

以上对问题作了一点扩展,即可实现从1到50行的同样的功能。

提出问题的人最后没有说声谢谢,还说”你应该感谢我”让你多学了一门语言,

开启一个新的历程

每天的生活都一样,每天的生活都不一样; 我们在不断失去,我们在不断获得;我们一直走向终点,我们一直开始新的起点。如阿甘所言,“生活就像一盒巧克力,你永远不会知道你将得到什么。”