Excel精英培训网

 找回密码
 注册
数据透视表40+个常用小技巧,让你一次学会!
查看: 2174|回复: 3

[已解决]这个 怎么 再提速.

[复制链接]
发表于 2016-3-22 12:00 | 显示全部楼层 |阅读模式
本帖最后由 砂海 于 2016-3-22 14:36 编辑

      以下为程序, 不知怎么样提速
with sheets("打印")
  For i = 1 To j9 - 1
            .HPageBreaks.Add Before:=.Range("a" & 步骤目录(i, 4) + 1)  '''插入分页符
               .Range("a" & 步骤目录(i, 5) & ":f" & 步骤目录(i, 5) + 5).RowHeight = 15.6  '''设定行高
            .Range("a" & 步骤目录(i, 5) & ":f" & 步骤目录(i, 5) + 5).Font.Size = 12 '''设定字号
              .Range("a" & 步骤目录(i, 5) + 2).RowHeight = 9 '''设定行高

            .Range("a" & 步骤目录(i, 5) + 7 & ":b" & 步骤目录(i, 4)).RowHeight = 步骤目录(i, 6)   '''设定行高
            .Range("a" & 步骤目录(i, 5) + 7 & ":b" & 步骤目录(i, 4)).Font.Size = 步骤目录(i, 7)   '''设定字号
        Next i
end with

这样大概 1.1秒
------------------------------------------------------
这样 1.4 秒
with sheets("打印")
  For i = 1 To j9 - 1
            .HPageBreaks.Add Before:=.Range("a" & 步骤目录(i, 4) + 1)  '''插入分页符
            with .Range("a" & 步骤目录(i, 5) & ":f" & 步骤目录(i, 5) + 5)
                     .RowHeight = 15.6  '''设定行高
                     .Font.Size = 12 '''设定字号
            end with
            .Range("a" & 步骤目录(i, 5) + 2).RowHeight = 9 '''设定行高

            .Range("a" & 步骤目录(i, 5) + 7 & ":b" & 步骤目录(i, 4)).RowHeight = 步骤目录(i, 6)   '''设定行高
            .Range("a" & 步骤目录(i, 5) + 7 & ":b" & 步骤目录(i, 4)).Font.Size = 步骤目录(i, 7)   '''设定字号
        Next i
end with


最佳答案
2016-3-22 13:28
看看这样是不是快点
With Sheets("打印")
For i = 1 To j9 - 1
      x = 步骤目录(i, 4): y = 步骤目录(i, 5)
      .HPageBreaks.Add Before:=.Range("a" & x + 1)  '''插入分页符
      .Range("a" & y & ":f" & y + 5).RowHeight = 15.6  '''设定行高
      .Range("a" & y & ":f" & y + 5).Font.Size = 12 '''设定字号
      .Range("a" & y + 2).RowHeight = 9 '''设定行高
   
      .Range("a" & y + 7 & ":b" & x).RowHeight = 步骤目录(i, 6)   '''设定行高
      .Range("a" & y + 7 & ":b" & x).Font.Size = 步骤目录(i, 7)   '''设定字号
Next i
End With
excel精英培训的微信平台,每天都会发送excel学习教程和资料。扫一扫明天就可以收到新教程
发表于 2016-3-22 13:28 | 显示全部楼层    本楼为最佳答案   
看看这样是不是快点
With Sheets("打印")
For i = 1 To j9 - 1
      x = 步骤目录(i, 4): y = 步骤目录(i, 5)
      .HPageBreaks.Add Before:=.Range("a" & x + 1)  '''插入分页符
      .Range("a" & y & ":f" & y + 5).RowHeight = 15.6  '''设定行高
      .Range("a" & y & ":f" & y + 5).Font.Size = 12 '''设定字号
      .Range("a" & y + 2).RowHeight = 9 '''设定行高
   
      .Range("a" & y + 7 & ":b" & x).RowHeight = 步骤目录(i, 6)   '''设定行高
      .Range("a" & y + 7 & ":b" & x).Font.Size = 步骤目录(i, 7)   '''设定字号
Next i
End With
回复

使用道具 举报

发表于 2016-3-22 13:28 | 显示全部楼层
上面加个application.ScreenUpdating=False 估计会快点。
回复

使用道具 举报

 楼主| 发表于 2016-3-22 14:12 | 显示全部楼层
grf1973 发表于 2016-3-22 13:28
看看这样是不是快点
With Sheets("打印")
For i = 1 To j9 - 1

是快了.
学习了,避免了多余的计算

另:屏幕刷新是知道的.
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|Archiver|Excel精英培训 ( 豫ICP备11015029号 )

GMT+8, 2024-4-26 02:00 , Processed in 0.279945 second(s), 7 queries , Gzip On, Yac On.

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

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