利用VBA编程实现在关闭excel前清空报价单有字的行,从第4行开始。函数见问题补充。
函数如下:PrivateSubWorkbook_BeforeClose(CancelAsBoolean)'关闭前清空价格单Call清空报价单EndSubSub清空报价单(...
函数如下:
Private Sub Workbook_BeforeClose(Cancel As Boolean) '关闭前清空价格单
Call 清空报价单
End Sub
Sub 清空报价单()
Dim row3 As Integer
Dim i As Integer
Application.ScreenUpdating = False '关闭屏幕刷新 提高VBA运行速率
row3 = Sheets("检测费用报价").Range("a65536").End(xlUp).Row
For i = 4 To row3
Sheets("检测费用报价").Rows(i).Select
Selection.ClearContents
Selection.ClearFormats
Next i
Application.ScreenUpdating = True '恢复刷新功能
Sheets("检测费用报价").Cells(4, 1).Select
End Sub
问题:如果关闭前,正式报价表sheet页,没有问题,自动清空。
如果是其他sheet页,就会报错。错误截图见附件。请各位大侠尽快帮忙解决,多谢。 展开
Private Sub Workbook_BeforeClose(Cancel As Boolean) '关闭前清空价格单
Call 清空报价单
End Sub
Sub 清空报价单()
Dim row3 As Integer
Dim i As Integer
Application.ScreenUpdating = False '关闭屏幕刷新 提高VBA运行速率
row3 = Sheets("检测费用报价").Range("a65536").End(xlUp).Row
For i = 4 To row3
Sheets("检测费用报价").Rows(i).Select
Selection.ClearContents
Selection.ClearFormats
Next i
Application.ScreenUpdating = True '恢复刷新功能
Sheets("检测费用报价").Cells(4, 1).Select
End Sub
问题:如果关闭前,正式报价表sheet页,没有问题,自动清空。
如果是其他sheet页,就会报错。错误截图见附件。请各位大侠尽快帮忙解决,多谢。 展开
1个回答
展开全部
Sheets("检测费用报价").Cells(4, 1).Select
这句去掉就行了,反正要关闭工作簿了,还要选干啥呢。
如果非要选择,那么先激活这个工作表
这句去掉就行了,反正要关闭工作簿了,还要选干啥呢。
如果非要选择,那么先激活这个工作表
追问
试过了,去掉后Sheets("检测费用报价").Rows(i).Select 这句也还有问题。
追答
哦 这三句也有问题
-----
Sheets("检测费用报价").Rows(i).Select
Selection.ClearContents
Selection.ClearFormats
------
在前边加一个
Sheets("检测费用报价").Rows(i).Activate
或者直接改成以下两句,不要select
---
Sheets("检测费用报价").Rows(i).ClearContents
Sheets("检测费用报价").Rows(i).ClearFormats
---
百事牛
2024-10-22 广告
2024-10-22 广告
百事牛是共享提供商,我们提供可靠有效的服务,适当合理的授权费有利于的继续更新优化。同样的事情,同样的方法,百事牛团队十年磨一剑,始终至聚焦在密码恢复领域,深耕于此,我们已研制出有别于其他公司的算法和运算模式, 百事牛的暴力模式加入了分布式点...
点击进入详情页
本回答由百事牛提供
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询