excel加了些代码,反应很慢。

[复制链接]
查看11 | 回复4 | 2010-8-15 09:39:39 | 显示全部楼层 |阅读模式
我的excel加了些代码,现在选择单元格后,鼠标指针变为等待,很久才有反映了。谁能帮我看看
i = Target.Row
j = Target.Column
If i > 1 And i7 And j < 81 Then

Range(Cells(2, j), Cells(23, j)).Copy Range(Cells(2, 5), Cells(23, 5))

Range("c2") = j
End If

回复

使用道具 举报

千问 | 2010-8-15 09:39:39 | 显示全部楼层
代码没问题,运行应该很快的,你是不是还有其他代码块呀,比如单元修改的代码块,因为 Range(Cells(2, j), Cells(23, j)).Copy Range(Cells(2, 5), Cells(23, 5))
Range("c2") = j这两行都是修改单元的,每修改一个单元格,那Private Sub Worksheet_Change(ByVal Target As Range)这个代码块就会运行一次,如果这里的代码没有写好,很容易出现死循环的。
回复

使用道具 举报

千问 | 2010-8-15 09:39:39 | 显示全部楼层
此代码的作用是将选择的活动单元格所在的列从第2行至23行的值复制到第5列第2行至23行并在C2单元格写入列号.照理说代码速度应该不慢,可能表格中有大量的公式引用数据造成.
回复

使用道具 举报

千问 | 2010-8-15 09:39:39 | 显示全部楼层
代码贴上来看看啦 问题处在你的target目标定义上了。这段程序不耗时间的。可能你的target是很大的一个目标,很多单元合格组成。
回复

使用道具 举报

千问 | 2010-8-15 09:39:39 | 显示全部楼层
Range("c2") = j有问题!你要达到什么效果?
回复

使用道具 举报

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

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行