设为首页收藏本站|繁體中文

Excel 技巧网

QQ登录

只需一步,快速开始

手机号码,快捷登录

查看: 625|bwin官网地址: 2

[待分类提问] 代码运行不出错却没有结果

[复制链接]
发表于 2018-11-18 20:39:04 | 显示全部楼层 |阅读模式

免费注册成为本站会员,享用更多功能,结识更多Office办公高手!

您需要 登录 才可以下载或查看,没有帐号?注册

x
请教大侠,以下代码有什么问题,为什么运行不显示出错,却没有结查,附件是对应文件。

Sub 复制3()
Dim y As Integer
Dim Rc_sht As Worksheet

Set Rc_sht = Worksheets("Packing List")

Application.ScreenUpdating = False

For y = 9 To WorksheetFunction.CountA(Rc_sht.Columns(4))
If Rc_sht.Cells(y, "d") = "TOTAL:" Then
Rc_sht.Range("d" & y).Offset(, 1).Copy Rc_sht.Range("n10")
Rc_sht.Range("n9") = WorksheetFunction.CountA(Rc_sht.Range("d9:d" & y))
End If
Next
Application.ScreenUpdating = ture

End Sub

上传案例.rar

75.18 KB, 下载次数: 4

发表于 2019-4-22 21:10:05 | 显示全部楼层
搞不明白你到底想达到啥目的!既然整个操作都在同一工作表,干嘛搞得那么麻烦?
Sub 复制3()
Dim y As Integer
For y = 9 To WorksheetFunction.CountA(range("d:d"))
If Cells(y, "d") = "TOTAL:" Then
Range("d" & y).Offset(, 1).Copy Range("n10")
Range("n9") = WorksheetFunction.CountA(Range("d9:d" & y))
End If
Next
End Sub
这只是按照你的原代码修改的,因为不知道你的意图,无法进行完善。
发表于 2019-5-6 16:25:52 | 显示全部楼层
Range("d" & y).Offset(, 1).Copy Range("n10")
这一句是一个错误:Range("d" & y).Offset(, 1)每循环一次,就会产生一个值,而Range("n10")是固定单元格,这样后来的数值会覆盖前面的值,要想不覆盖,也需要改为带有变量的单元格,例如Range("n" & y)
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

站长推荐上一条 /1 下一条

Excel技巧网的会员探讨问题仅代表其个人意见,与网站的立场无关。任何违反国家和地方相关法律法规的言论,本站有义务协助政府相关部门追究发言者的责任!
本站中非注明转载文章与案例的版权为作者与Excel技巧网共有。若非原文作者,本站之外任何单位或个人未经允许,不得将其用于商业用途。
若非原文作者,任何形式的非商业性转载必须获得Excel技巧网或作者允许,并注明作者和出处。
会员发表的帖子如涉及版权纠纷,须自行负责。详情请参考注册时的网站服务条款。
本站特聘法律顾问:沈学律师

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

快速bwin官网地址 返回顶部 返回列表