|
Option Explicit
Private Sub CommandButton1_Click()
Dim Cn As Object, S1$, S2$, ar, i%, s$
Set Cn = CreateObject("ADODB.Connection")
Cn.Open "Provider=Microsoft.ACE.OLEDB.12.0;Extended Properties=Excel 12.0;Data Source=" & ThisWorkbook.FullName
S1 = "SELECT DISTINCT FORMAT(日期,'YYYYMM') FROM [Sheet1$G1:G" & [G65536].End(xlUp).Row & "]"
S2 = "SELECT FORMAT(MIN(日期),'YYYYMM'),FORMAT(MAX(日期),'YYYYMM') FROM [Sheet1$G1:G" & [G65536].End(xlUp).Row & "]"
ar = Cn.Execute(S1).GetRows
For i = 0 To UBound(ar, 2)
s = s & "," & ar(0, i)
Next
With [a1]
.Resize(2).NumberFormatLocal = "@"
.Value = Mid(s, 2)
With .Offset(1)
.CopyFromRecordset Cn.Execute(S2)
.Value = Join(WorksheetFunction.Transpose(WorksheetFunction.Transpose(.Resize(, 2))), "-")
.Offset(, 1) = ""
End With
End With
Cn.Close
Set Cn = Nothing
End Sub |
评分
-
1
查看全部评分
-
|