Excel表格如何提高下面代码在实际表格中的运行速度,可行最少加50分。高手请进
发布网友
发布时间:2022-05-21 08:09
我来回答
共1个回答
热心网友
时间:2023-10-20 05:04
代码不需要那么复杂,改成下面即可:
Private Sub Worksheet_Change(ByVal Target As Range)
Dim R&
If Target.Row > 1 And Target.Column = 7 And Target.Count = 1 Then
R = Target.Row
If Target.Value > 0 Then
If Cells(R, 1) = "" Then Cells(R, 1) = Cells(R - 1, 1)
If Cells(R, 4) = "" Then Cells(R, 4) = Cells(R - 1, 4)
If Cells(R, 5) = "" Then Cells(R, 5) = Cells(R - 1, 5)
If Cells(R, 3) = "" Then
If Cells(R - 1, 1) = Cells(R, 1) And Cells(R, 1) <> "" Then
Cells(R, 3) = Cells(R - 1, 3)
Else
Cells(R, 3) = Now
End If
End If
End If
End If
End Sub
但我估计选成速度慢的原因不是这个宏的原因,而是你表格里用的函数太多,特别是用如VLOOKUP函数引用其他表格数据时就会慢。追问您的代码是我一直想要的,能够将二段代码合在一起一直是我的愿望,但该代码还不能完全实现我的需要,不知道您还能不能帮继续优化。【4、相邻的客户名称不相同,下面的单元格内的时间等于系统时间,时间一旦写入,就不变(如A3≠A2,在G3内输入数据时,C3=now()。】您的代码运行的结果等于false
追答代码没有问题啊,我在自己的电脑上测试了。你可不可以具体举个例,把出现错误的情况发到我的邮箱。276337287@qq,com