|
本帖最后由 bingoleexuben 于 2020-4-13 17:59 编辑
Private Sub CommandButton1_Click()
'On Error Resume Next '// 发生错误,自动执行下一句,就是忽略错误
Application.ScreenUpdating = False '//关闭屏幕刷新
Application.DisplayAlerts = False '//关闭系统提示
t = Timer '//开始时间
Set SH0 = Sheets("汇总")
SH0.Cells.Clear '//清空保存区域,全部数据第一行是标题行,且只占一行,无合并单元格
ARR = FileAllArr(ThisWorkbook.Path, "*.xlsx", ThisWorkbook.Name, False) '//详见函数说明
SHName = "数据表" '//要求所有工作簿内需要统计的工作表名称相同,
For I = 0 To UBound(ARR)
Str_coon = "Provider=Microsoft.ACE.OLEDB.12.0;Extended Properties='Excel 12.0;HDR=yes';data source=" & ARR(I) '//Excel2007
' Str_coon = "Provider=Microsoft.JET.OLEDB.4.0;Extended Properties='Excel 8.0;HDR=yes';data source=" & & ARR(I) '//OFFICE2003,根据情况选择
StrSQL = "SELECT 居间人,sum(应发佣金),SUM(营业税),SUM(城建税),sum(教育附加),'" & GetPathFromFileName(ARR(I), False) & "' AS 来自工作簿 FROM [" & SHName & "$]" '//SQL语句自己发挥吧,这里是精髓。
IROW = SH0.Range("A1048576").End(3).Row + 1
If IROW <= 2 Then
IROW = 1
Crr = GET_SQLCoon(StrSQL, Str_coon, True) '//第一次,带上标题
Else
Crr = GET_SQLCoon(StrSQL, Str_coon, False)
End If
SH0.Range("A" & IROW).Resize(UBound(Crr, 1) + 1, UBound(Crr, 2) + 1) = Crr '//粘贴查询结果
Next
Application.ScreenUpdating = True '//恢复屏幕刷新
Application.DisplayAlerts = True '//恢复系统提示
MsgBox "汇总用时:" & Format(Timer - t, "#0.0000") & " 秒", , "北极狐提示!!" '//提示所用时间
End Sub
加不进居间人。。。。请大家帮我看看 |
|