ExcelHome技术论坛

 找回密码
 免费注册

QQ登录

只需一步,快速开始

快捷登录

搜索
EH技术汇-专业的职场技能充电站 妙哉!函数段子手趣味讲函数 Excel服务器-会Excel,做管理系统 Excel Home精品图文教程库
HR薪酬管理数字化实战 Excel 2021函数公式学习大典 Excel数据透视表实战秘技 打造核心竞争力的职场宝典
300集Office 2010微视频教程 数据工作者的案头书 免费直播课集锦 ExcelHome出品 - VBA代码宝免费下载
用ChatGPT与VBA一键搞定Excel WPS表格从入门到精通 Excel VBA经典代码实践指南
查看: 1683|回复: 0

运行VBA提示内存不足

[复制链接]

TA的精华主题

TA的得分主题

发表于 2017-11-30 12:04 | 显示全部楼层 |阅读模式
file:///C:\Users\Administrator\AppData\Roaming\Tencent\Users\470112137\QQ\WinTemp\RichOle\YPF73SVEZ0)7P$~6R4D)45J.pngfile:///C:\Users\Administrator\AppData\Roaming\Tencent\Users\470112137\QQ\WinTemp\RichOle\YPF73SVEZ0)7P$~6R4D)45J.png
汇总工作簿内所有工作表内容到同一工作表,除第一张表外从所每张表的标题行下一行开始


Sub collect()
   'VBA编程学习与实践,一键多表数据汇总
   Dim sht As Worksheet, rng As Range, k&, trow&
   Application.ScreenUpdating = False
   '取消屏幕更新,加快代码运行速度
   trow = Val(InputBox("请输入标题的行数", "提醒"))
   If trow < 0 Then MsgBox "标题行数不能为负数。", 64, "警告": Exit Sub
   '取得用户输入的标题行数,如果为负数,退出程序
   Cells.ClearContents
   '清空当前表数据
   For Each sht In Worksheets
   '循环读取表格
       If sht.Name <> ActiveSheet.Name Then
       '如果表格名称不等于当前表名则进行汇总动作……
           Set rng = sht.UsedRange
           '定义rng为表格已用区域
           k = k + 1
           '累计K值
           If k = 1 Then
           '如果是首个表格,则K为1,则把标题行一起复制到汇总表
               rng.Copy
               [a1].PasteSpecial Paste:=xlPasteValues
           Else
               '否则,扣除标题行后再复制黏贴到总表,只黏贴数值
               rng.Offset(trow).Copy
               Cells(ActiveSheet.UsedRange.Rows.Count + 1, 1).PasteSpecial Paste:=xlPasteValues
           End If
       End If
   Next
   [a1].Activate
   '激活A1单元格
   Application.ScreenUpdating = True
   '恢复屏幕刷新
End Sub
VBA.png
内存.png
您需要登录后才可以回帖 登录 | 免费注册

本版积分规则

关闭

最新热点上一条 /1 下一条

手机版|关于我们|联系我们|ExcelHome

GMT+8, 2024-4-18 21:20 , Processed in 0.028029 second(s), 12 queries , Gzip On, MemCache On.

Powered by Discuz! X3.4

© 1999-2023 Wooffice Inc.

沪公网安备 31011702000001号 沪ICP备11019229号-2

本论坛言论纯属发表者个人意见,任何违反国家相关法律的言论,本站将协助国家相关部门追究发言者责任!     本站特聘法律顾问:李志群律师

快速回复 返回顶部 返回列表