|
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用 · 内置多项VBA编程加强工具 ★ 免费下载 ★ ★ 使用手册★
本帖最后由 Stone_00x 于 2023-3-6 15:54 编辑
要求:根据材料编号,分类,日期汇总数量1跟数量2 , 日期按月汇总,放在列里面
可以实现将数量1按月份汇总,但是同时将数量1&数量2按月份汇总不知道怎么改
- strSQL = "TRANSFORM SUM(数量1) SELECT 材料编号,分类 FROM [数据源$" & sAdr & "] " & _
- "GROUP BY 材料编号,分类 PIVOT DATEPART('m',日期)&'月'"
复制代码
- Sub Pro()
- Sheets("数据源").Select
- sAdr = Range("a1").CurrentRegion.Address(0, 0)
- Set cnn = CreateObject("ADODB.Connection")
- Set rst = CreateObject("ADODB.Recordset")
- cnn.Open "Provider=Microsoft.ACE.OLEDB.12.0;Extended Properties='Excel 12.0;HDR=YES';Data Source=" & ActiveWorkbook.FullName
-
- strSQL = "TRANSFORM SUM(数量1) SELECT 材料编号,分类 FROM [数据源$" & sAdr & "] " & _
- "GROUP BY 材料编号,分类 PIVOT DATEPART('m',日期)&'月'"
- rst.Open strSQL, cnn
- Dim arrFileds
- ReDim arrFileds(1 To 1, 1 To rst.Fields.Count)
- For i = 1 To rst.Fields.Count
- arrFileds(1, i) = rst.Fields(i - 1).Name
- Next
- Range("h1").CurrentRegion.ClearContents
- Range("h1").Resize(1, rst.Fields.Count) = arrFileds
- Range("h2").CopyFromRecordset rst
- cnn.Close: Set cnn = Nothing
- End Sub
复制代码
|
|