ExcelHome技术论坛

 找回密码
 免费注册

QQ登录

只需一步,快速开始

快捷登录

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

[求助] [求助]文件运行速度奇慢!!

[复制链接]

TA的精华主题

TA的得分主题

发表于 2003-8-13 18:27 | 显示全部楼层 |阅读模式
俺在excel编了小的票据打印程序十来个数据组循环,在家cup赛扬533运行速度还可以,但在单位奔4运行速度奇慢,数据是一个一个慢慢地跳出来,不知为何?office2000重装了还一样,不知何故????高手指教一二!!!![glow=255,red,2]文字

TA的精华主题

TA的得分主题

 楼主| 发表于 2003-8-14 19:13 | 显示全部楼层
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册
文件怎样才能上传![em02][em02]现循环程序如下:dp_num = WorksheetFunction.CountA(Worksheets("5031及部门").Range("9:9"))
        For x = 3 To dp_num + 2
          Sheets("中间排序").Cells(x, 1) = curr_num '每行币种 e.g. 14
          Sheets("中间排序").Cells(x, 2) = WorksheetFunction.VLookup(curr_num, Worksheets("货币符号").Range("货币区"), 2, 0)  '每行货币符号 e.g. USD     
           Sheets("中间排序").Cells(x, 3) = WorksheetFunction.VLookup(curr_num, Worksheets("货币符号").Range("货币区"), 3, 0)       '每行货币名称     
           Sheets("中间排序").Cells(x, 4) = Sheets("5031及部门").Cells(9, x) '每行部门名称
          Sheets("中间排序").Cells(x, 5) = Sheets("5031及部门").Cells(10, x) '每行部门代码                  
          Sheets("中间排序").Cells(x, 6) = Round(Sheets("输入").Cells(curr_num, x + 1), 2)    '每行小写金额                    
      Sheets("中间排序").Cells(x, 7) = Sheets("5031及部门").Cells(curr_num, x)     '每行帐号   
        Next x
    Application.Run "'555.xls'!排序"    ‘简单的从大到小排序
    ' Sheets("输入").Select
'打印格式
pr_num = WorksheetFunction.CountA(Worksheets("中间排序").Range("f3:f25")) - WorksheetFunction.CountIf(Worksheets("中间排序").Range("F3:F25"), 0)
     i = 0
Line1:
      Do While i <= pr_num - 1
            dx = Sheets("中间排序").Cells(3 + i, 11) '大写金额
            m1 = Sheets("中间排序").Cells(3 + i, 2)    '货币符号
            len_num = Sheets("中间排序").Cells(3 + i, 10) '长度
            money_num = Sheets("中间排序").Cells(3 + i, 6) * 100 '小写金额
            Sheets("打印表").Cells(6, 22) = money_num - Int(money_num / 10) * 10 '分位数
                '各个位数分别填入数字
              For Y = 1 To len_num - 1
              Sheets("打印表").Cells(6, 30 - Y) = Int(money_num / 10 ^ Y) - Int(money_num / 10 ^ (Y + 1)) * 10
              Next Y
             '余格清空
             z = 11 - len_num
             For mm = 1 To z
             Sheets("打印表").Cells(6, 19 + mm) = ""
             Next mm
            Sheets("打印表").Cells(6, 30 - len_num) = m1            
                 Sheets("打印表").Select
                 pg = i + 1
                 pg = Str(pg)
              Sheets("打印表").Cells(11, 31) = pg
              Response = MsgBox("此次打印共" + Str(pr_num) + "页" + Chr(10) + "现第" + pg + "页", 1)
        If Response = 2 Then
          MsgBox "本页不打印"
          i = i + 1
          GoTo Line1
      End If
       Sheets("打印表").PrintOut
       i = i + 1
   Loop

指教一二
[em19][em19]

TA的精华主题

TA的得分主题

 楼主| 发表于 2003-8-15 13:20 | 显示全部楼层
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件       ★免费下载 ★       ★ 使用帮助
关闭自动运行是指关闭哪一段?是否指打印格式前得那一部分??

TA的精华主题

TA的得分主题

发表于 2003-8-15 12:51 | 显示全部楼层
运行写入前先关闭自动运行写入完成再运行计算效果会好些

TA的精华主题

TA的得分主题

发表于 2003-8-14 09:16 | 显示全部楼层
您需要登录后才可以回帖 登录 | 免费注册

本版积分规则

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

GMT+8, 2024-6-7 12:27 , Processed in 0.032050 second(s), 10 queries , Gzip On, MemCache On.

Powered by Discuz! X3.4

© 1999-2023 Wooffice Inc.

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

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

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