1. Private Declare Sub Sleep Lib "kernel32" (ByVal dwMilliseconds As Long)
  2.  
  3. Public Sub GatherDataPicker()
  4. Application.ScreenUpdating = False
  5. Application.DisplayAlerts = False
  6. Application.Calculation = xlCalculationManual
  7. Application.StatusBar = ">>>>>>>>程序正在运行>>>>>>>>"
  8.  
  9. 'On Error GoTo ErrHandler
  10.  
  11. Dim StartTime, UsedTime As Variant
  12. StartTime = VBA.Timer
  13. '>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
  14. Dim wb As Workbook
  15. Dim Sht As Worksheet
  16.  
  17. Dim EndRow As Long
  18.  
  19. Dim OpenWb As Workbook
  20. Dim OpenSht As Worksheet
  21. Const SHEET_INDEX = "DB-B01" '"DB-C01" '引号内修改的是Sheet Name 表名(有人也叫页名)
  22. Const TITLE_ROW As Long = 2 '这里修改的是标题所占的行数
  23.  
  24. Dim FolderPath As String
  25. Dim FileName As String
  26. Dim FileCount As Long
  27.  
  28. '>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
  29. With Application.FileDialog(msoFileDialogFolderPicker)
  30. .InitialFileName = ThisWorkbook.Path
  31. .AllowMultiSelect = False
  32. .Title = "请选取Excel工作簿所在文件夹"
  33. If .Show = -1 Then
  34. FolderPath = .SelectedItems(1)
  35. Else
  36. MsgBox "您没有选中任何文件夹,本次汇总中断!"
  37. Exit Sub
  38. End If
  39. End With
  40. If Right(FolderPath, 1) <> "\" Then FolderPath = FolderPath & "\"
  41.  
  42. '>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
  43. Set wb = Application.ThisWorkbook '工作簿级别
  44. Set Sht = wb.Worksheets(1)
  45. Sht.Cells.Clear
  46.  
  47. 'FolderPath = ThisWorkbook.Path & "\"
  48. FileCount = 0
  49. FileName = Dir(FolderPath & "*.xls*")
  50. Do While FileName <> ""
  51. If FileName <> ThisWorkbook.Name Then
  52. FileCount = FileCount + 1
  53. Set OpenWb = Application.Workbooks.Open(FolderPath & FileName)
  54. 'Sleep 5000
  55. 'SendKeys "~"
  56.  
  57. With OpenWb
  58. Set OpenSht = .Worksheets(SHEET_INDEX)
  59. With OpenSht
  60. EndRow = .Cells.Find("*", .Cells(1, 1), xlValues, xlWhole, xlByRows, xlPrevious).Row
  61. If FileCount = 1 Then
  62. Set Rng = .Range("A1:ADT" & EndRow)
  63. Rng.Copy
  64. Sht.Range("A1").PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks:=False, Transpose:=False
  65. Else
  66. Set Rng = .Range("A" & TITLE_ROW + 1 & ":ADT" & EndRow)
  67. EndRow = Sht.Cells.Find("*", Sht.Cells(1, 1), xlValues, xlWhole, xlByRows, xlPrevious).Row
  68. Rng.Copy
  69. Sht.Cells(EndRow + 1, 1).PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks:=False, Transpose:=False
  70. End If
  71. End With
  72. .Close False
  73. End With
  74. End If
  75. FileName = Dir
  76. Loop
  77. '>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
  78. UsedTime = VBA.Timer - StartTime
  79. MsgBox "本次耗时:" & Format(UsedTime, "0.000秒"), vbOKOnly, " Excel Studio QQ84857038"
  80.  
  81. ErrorExit:
  82. Set wb = Nothing
  83. Set Sht = Nothing
  84. Set OpenWb = Nothing
  85. Set OpenSht = Nothing
  86. Set Rng = Nothing
  87.  
  88. Application.ScreenUpdating = True
  89. Application.DisplayAlerts = True
  90. Application.Calculation = xlCalculationAutomatic
  91. Application.StatusBar = False
  92. Exit Sub
  93. '>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
  94. ErrHandler:
  95. If Err.Number <> 0 Then
  96. MsgBox Err.Description & "!" & FileName, vbCritical, " Excel Studio QQ84857038"
  97.  
  98. Err.Clear
  99. Resume ErrorExit
  100. End If
  101. End Sub

  

20170801xlVBA含有公式出现弹窗合并的更多相关文章

  1. poi解析excel(含有公式)

    /** * Jun 25, 2012 */ import java.io.File; import java.io.FileInputStream; import java.io.IOExceptio ...

  2. excel 公式2列合并

    =A2&"="&C2 ="UPDATE comm_department SET parent_id='"&D2&"' ...

  3. POI/Excel/HTML单元格公式问题

    一.问题描述 使用MyBatis从数据库中获取数据,然后用POI把数据填充到Excel模板中,生成最终的xls文件.把最终的xls文件转换为html文件,并返回给前台显示在Panel中. Excel模 ...

  4. C# 处理Excel公式(一)——创建、读取Excel公式

    对于数据量较大的表格,需要计算一些特殊数值时,我们通过运用公式能有效提高我们数据处理的速度和效率,对于后期数据的增删改查等的批量操作也很方便.此外,对于某些数值的信息来源,我们也可以通过读取数据中包含 ...

  5. EXCEL2010如何显示工作表中单元格内的公式

    以EXCEL 2010为例   打开含有公式的EXCEL表格文件,图中红圈所示就是单元格的公式,默认是显示计算结果:   我们依次找到“公式”-〉“公式审核”-〉并点击“显示公式”:   点击后, 有 ...

  6. Java添加、读取Excel公式

    操作excel表格用公式来处理数据时,可通过创建公式来运算数据,或通过读取公式来获取数据信息来源.本文以通过Java代码来演示在Excel中创建及读取公式的方法.这里使用了Excel Java类库(F ...

  7. EXCEL数据透视相关知识

    要边看边总结要点:1.部门管理,标准化作业流程,控制生产经营过程,预知风险2.这一项内容,用一个工作薄三个SHEET表来完成.分类汇总表(可变,N个),源数据表(标准.规范.通用.简洁.正确),1.符 ...

  8. WPS客户端更新日志留着备用

    WPS Office (10.1.0.7520)==========================================新增功能列表------------WPS文字1 拼写检查:新增“中 ...

  9. excel vba 数据分析

    (Visual Basic Application) VBA(Visual Basic for Application)是Microsoft Office系列软件的内置编程语言,其语法结构与Visua ...

随机推荐

  1. jQuery常用操作

    jQuery jQuery是一个轻量级的JS库,是一个被封装好的JS文件,提供了更为简便的元素操作方式,jQuery封装了DOM. 使用jQuery 引入jQuery文件 <scrtipt sr ...

  2. Python 为什么要用yield

    可能听说过,带有 yield 的函数在 Python 中被称之为 generator(生成器),何谓 generator ?我们先抛开 generator,以一个常见的编程题目来展示 yield 的概 ...

  3. P4009 汽车加油行驶问题

    P4009 汽车加油行驶问题 最短路 清一色的spfa....送上一个堆优化Dijkstra吧(貌似代码还挺短) 顺便说一句,堆优化Dj跑分层图灰常好写 #include<iostream> ...

  4. P3810 【模板】三维偏序(陌上花开)

    P3810 [模板]三维偏序(陌上花开) cdq分治+树状数组 三维偏序模板题 前两维用cdq分治,第三维用树状数组进行维护 就像用树状数组搞逆序对那样做--->存权值的出现次数 attenti ...

  5. Android实践项目汇报(二)

    Google天气客户端 本周学习计划 学习布局控件和XML解析的相关知识. 看懂程序代码. 把借鉴代码成功导入到Android Studio中并运行成功. 实际完成情况 我学习到布局控件XML在res ...

  6. POJ 2823 Sliding Window(单调队列 || 线段树)题解

    题意:求每个长度为k的数组的最大值和最小值 思路: 1.用线段树创建维护最大值和最小值,遍历询问,简单复习了一下...有点手生 2.单调队列: 可以看一下详解 单调队列顾名思义就是一个单调递增或者递减 ...

  7. centos7下yum升级被PackageKit锁定

    新安装centos7后,第一次升级出现下面的错误: Another app is currently holding the yum lock; waiting for it to exit... 另 ...

  8. LeetCode——Find Bottom Left Tree Value

    Question Given a binary tree, find the leftmost value in the last row of the tree. Example 1: Input: ...

  9. 51nod 1463 找朋友(线段树+离线处理)

    http://www.51nod.com/onlineJudge/questionCode.html#!problemId=1463 题意: 思路: 好题! 先对所有查询进行离线处理,按照右区间排序, ...

  10. UOJ #56. 【WC2014】非确定机

    题意大意:给出一个输出文件,求输入. 1.满足所求的输入文件是一张图,n个点,m条边,所用算法是k(k在给出的输出文件中给出了) 2.算法是图论算法?!k基本上→两位数组成,若十位数相同,说明基本算法 ...