ExcelHome技术论坛

 找回密码
 免费注册

QQ登录

只需一步,快速开始

快捷登录

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

哪位大神帮我看下,下面这个代码运行很卡,还经常死机,要怎么改进。

[复制链接]

TA的精华主题

TA的得分主题

发表于 2018-10-23 10:09 | 显示全部楼层 |阅读模式
Sub 保存()
Application.ScreenUpdating = False
On Error GoTo 100
    Dim es As Range, a%
   If Sheet3.[b:b].Find([k2]) = [k2] Then
    MsgBox "已经保存过了!"
   Else
100:
    Set es = Range("b65536").End(3)

a = Application.CountA(Sheet3.[a:a])
b = Application.CountA(Sheet4.[a:a])
c = Application.CountA(Sheet7.[a:a])
    If es.Row = 8 Then MsgBox "您还没有录入数据!请从B9格开始录入": End
    If [c3] = "" Then MsgBox "请输入客户名称!": Exit Sub
    If [h2] = "" Then MsgBox "请选择付款方式!": Exit Sub
    If [i9] = "" Then MsgBox "您还没有录入数据!请检查,数据未完整!": Exit Sub
    If [h2] = "对公账户" And [c5] = "" Then MsgBox "请在备注输入转入公司": Exit Sub
    If Application.CountIf([i9:i56], "<>") <> (es.Row - 8) Then MsgBox "请检查,数据未完整!": Exit Sub


    Range([b9], es.Offset(0, 16)).Select
    Selection.Copy
    Sheet3.Cells(a + 1, 4).PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
        :=False, Transpose:=False
    Application.CutCopyMode = False
    Sheet3.Cells(a + 1, "b").Resize(es.Row - 8) = [k2].Value '保存销售单号
    Sheet3.Cells(a + 1, "c").Resize(es.Row - 8) = [c3].Value '保存客户名称
Sheet3.Cells(a + 1, "a").Resize(es.Row - 8) = [c2].Value '保存开单日期
Sheet3.Cells(a + 1, "u").Resize(es.Row - 8) = [h2].Value '保存付款方式
Sheet3.Cells(a + 1, "v").Resize(es.Row - 8) = [k3].Value '保存联系人
Sheet3.Cells(a + 1, "w").Resize(es.Row - 8) = [p3].Value '保存手机
Sheet3.Cells(a + 1, "x").Resize(es.Row - 8) = [c4].Value '保存地址
Sheet3.Cells(a + 1, "y").Resize(es.Row - 8) = [c5].Value '保存备注
Sheet3.Cells(a + 1, "aa").Resize(es.Row - 8) = Now()  '保存登记账单日期
Sheet4.Cells(b + 1, "a") = [c2].Value  '保存登记账单日期
Sheet4.Cells(b + 1, "b") = [k2].Value '保存账单销售单号
Sheet4.Cells(b + 1, "c") = [c3].Value '保存账单客户名称
Sheet4.Cells(b + 1, "d") = [g6].Value '保存账单卷
Sheet4.Cells(b + 1, "e") = [c6].Value '保存账单米
Sheet4.Cells(b + 1, "f") = [k6].Value '保存账单金额
Sheet4.Cells(b + 1, "h") = [h2].Value '保存账单支付情况
Sheet4.Cells(b + 1, "m") = [c5].Value '保存账单备注
Sheet4.Cells(b + 1, "n") = Now() '保存开单日期
If [h2] = "对公账户" Then
Sheet7.Cells(c + 1, "a") = [c2].Value  '保存登记账单日期
Sheet7.Cells(c + 1, "b") = [k2].Value '保存账单销售单号
Sheet7.Cells(c + 1, "c") = [c3].Value '保存账单客户名称
Sheet7.Cells(c + 1, "e") = [c5].Value '保存账单备注

End If


    MsgBox "保存成功!"
   End If
   ActiveWindow.SmallScroll Down:=-100
   Range("c3").Select
   Application.ScreenUpdating = True

End Sub

哪位大神帮我看下,这个代码运行很卡,还经常死机,要怎么改进。


TA的精华主题

TA的得分主题

发表于 2018-10-23 10:21 | 显示全部楼层
没有附近,,大虾不会出现的..
您需要登录后才可以回帖 登录 | 免费注册

本版积分规则

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

GMT+8, 2024-11-23 22:51 , Processed in 0.030224 second(s), 9 queries , Gzip On, MemCache On.

Powered by Discuz! X3.4

© 1999-2023 Wooffice Inc.

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

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

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