vba 编写自动报表

 Sub qr_report_week_click()
    Dim conn As ADODB.Conn
    Dim rs As ADODB.Reco
    Dim i As Integer
    Dim sql As String, sdate As String, edate As String
    Set conn = CreateObjct("ADDB.Contion")
    conn.ConnecnString = "DRIVER={MySQL ODBC 5.3 Unicode Driver};SERVER=192.168.0.3;Database=test;Uid=test;Pwd=test"  
    
    conn.Open
    Set rs = New ADODB.Recordset
    sdate = InputBox("请输入起始日期,格式如 2016-02-01", "起始日期", Format(DateAdd("d", -7, Now), "yyyy-mm-dd"))
    edate = InputBox("请输入终止日期,格式如 2016-02-07", , Format(Now, "yyyy-mm-dd"))
    sql = "SELECT ....."
    rs.Open sql, conn
    rs.MoveFirst
   Set sht = ThisWorkbook.Worksheets("周新增统计")
   sht.Range("A2:E2").ClearContents
    i = 2
Do While Not rs.EOF

    sht.Cells(i, 1) = rs("date")
    sht.Cells(i, 2) = rs("register")
    sht.Cells(i, 3) = rs("bind")
    sht.Cells(i, 4) = rs("activat")
    sht.Cells(i, 5) = rs("lv")
    
    rs.MoveNext
    i = i + 1
Loop

'累计统计

Set rs = New ADODB.Recordset
    sql = "SELECT ....."
    rs.Open sql, conn
    rs.MoveFirst
    
   Set sht = ThisWorkbook.Worksheets("累计统计")
   sht.Range("A2:E2").ClearContents
    i = 2
Do While Not rs.EOF

    
    sht.Cells(i, 1) = rs("register")
    sht.Cells(i, 2) = rs("activat")
    sht.Cells(i, 3) = rs("lv")
    
    rs.MoveNext
    i = i + 1
Loop
'周(每日统计)
Set rs = New ADODB.Recordset
    sql = "SELECT DATE_....."
    rs.Open sql, conn
    rs.MoveFirst
    
   Set sht = ThisWorkook.Worksheets("周(每日统计)")
   sht.Rang("A2:E100").ClearContents
    i = 2
Do While Not rs.EOF

    
    sht.Cells(i, 1) = rs("date")
    sht.Cells(i, 2) = rs("register")
    sht.Cells(i, 3) = rs("bind")
    sht.Cells(i, 4) = rs("activat")
    sht.Cells(i, 5) = rs("lv")
    
    rs.MoveNext
    i = i + 1
Loop
    MsgBox "报表生成完成!"
    conn.Close
    Set conn = Nothing
End Sub






得到的测试结果如下:




重新跑后结果





  • 0
    点赞
  • 14
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值