|
10学分
本帖最后由 追梦人亮 于 2014-3-21 21:54 编辑
大神,怎样把每个季度最后一天的股票数据提出来?
如第一个季度末是3月31日,则把这一天收盘价提取出来,如果这天正好周六,则提取出前一天。谢谢了!
追梦人亮 发表于 2014-3-21 13:09
非常感谢老师这么热心的回答,是只有那一天的写入,如表中样式。非常感谢! - Sub test()
- Dim dt1 As Date, dt2 As Date
- Dim i%, j%, k%, l As Byte
- Dim result(1 To 1000, 1 To 3)
- result(1, 1) = "季度"
- result(1, 2) = "价格"
- result(1, 3) = "实际日期"
- k = 1
- For i = 1991 To 2013
- For j = 3 To 12 Step 3
- dt1 = DateAdd("m", 1, DateValue(i & "-" & j & "-" & 1)) - 1
- dt2 = dt1
- l = Weekday(dt1, vbMonday)
- If l > 5 Then
- dt1 = dt1 - l + 5
- End If
- Set rg = Columns(1).Find(what:=dt1, lookat:=xlWhole)
- If Not rg Is Nothing Then
- k = k + 1
- result(k, 1) = dt2
- result(k, 2) = rg.Offset(, 1).Value
- result(k, 3) = dt1
- End If
- Next
- Next
- Range("c1").Resize(k, UBound(result, 2)).Value = result
- MsgBox "ok"
- End Sub
复制代码
|
|