【发布时间】:2018-07-12 22:05:59
【问题描述】:
我有大量数据,我需要优化这些行,但我根本不知道如何......
“x”的某些行将是黑色的,所以我不知道如何在不包含这些空白行的情况下使用数组,或者在没有它们的情况下如何编写它们。
x,a,b & d 是可变数。
a = Sheets("MODULOS").Range("a1048576").End(xlUp).Row
b = Sheets("TODO").Range("a1048576").End(xlUp).Row
For x = 1 To b
Range("Z1").Select
ActiveCell.Offset(x, 0).Select
For i = 1 To (a - 1)
If ActiveCell.Value <> 0 Then
d = Sheets("AGREGADO").Range("a1048576").End(xlUp).Row
Sheets("AGREGADO").Cells(d + 1, 1).Value = Sheets("TODO").Cells(x + 1, 7).Value
Sheets("AGREGADO").Cells(d + 1, 3).Value = Sheets("TODO").Cells(x + 1, 25 + i).Value
Sheets("AGREGADO").Cells(d + 1, 2).Value = Sheets("TODO").Cells(1, 25 + i).Value
Sheets("AGREGADO").Cells(d + 1, 4).Value = Sheets("TODO").Cells(x + 1, 33 + a).Value
End If
ActiveCell.Offset(0, 1).Select
Next i
Next x
【问题讨论】:
-
为什么不用单元格公式而不是 VBA?
-
我将这些数据用于其他事情。
-
为什么公式会有问题?
-
注意:您的标题显示“优化”,但您的代码无法正常工作,因此您需要的不是优化,而是修复。
-
快速优化:开始
Application.Calculation = xlCalculateManual,Application.ScreenUpdating = False,退出前Application.Calculation = xlCalculationAutomatic,Application.ScreenUpdating = True。
标签: arrays excel vba loops for-loop