|
Sub limonet()
Dim Cn As Object, StrSQL$
Set Cn = CreateObject("Adodb.Connection")
Cn.Open "Provider=Microsoft.ACE.OLEDB.12.0;Extended Properties=Excel 12.0;Data Source=" & ThisWorkbook.FullName
StrSQL = "Select year(日期) as Y,month(日期)+iif(day(日期)>20,1,0) as M,iif(供货单位 like '%(%',left(供货单位,len(供货单位)-5),供货单位) As N,数量 As Q From [数据$F5:T]"
StrSQL = "Select Y,iif(m>12,1,M) As M,N,Q From (" & StrSQL & ")"
StrSQL = "Select Y,M,筛选名称 As N,Q From [筛选结果$B:B]a Left Join (" & StrSQL & ")b On a.筛选名称=b.N"
StrSQL = "TransForm Sum(Q) Select Y,N From (" & StrSQL & ") Group By Y,N Pivot M"
Set Rst = Cn.Execute(StrSQL)
For j = 0 To Rst.Fields.Count - 1
Cells(1, j + 1) = Rst.Fields(j).Name
Next j
Sheet3.Range("A2").CopyFromRecordset Rst
End Sub |
|