我目前有以下代码。我需要将它从单元格S1运行到单元格S5000以及介于两者之间的所有内容。我所做的是为每个单元格编写1到5000的代码,但是当我将代码粘贴到工作表中时,我得到了消息“编译错误:过程太大”。是否有解决方法,以便我可以将每个单元格的代码运行到5000甚至更多(如果需要)?
感谢您的帮助!
Sub CopyPriceOver()
Application.ScreenUpdating = False
If Range("S1") = 1 Then
Range("S1").Select
Range("S1").Select
Call ScheduleCopyPriceOver
ElseIf Range("S2") = 2 Then
Range("L2").Select
ActiveCell.FormulaR1C1 = "ready"
Range("L1").Select
Call ScheduleCopyPriceOver
ElseIf Range("S3") = 3 Then
Range("L3").Select
ActiveCell.FormulaR1C1 = "ready"
Range("L1").Select
Call ScheduleCopyPriceOver
.
.
.
.
ElseIf Range("S5000") = 5000 Then
Range("5000").Select
ActiveCell.FormulaR1C1 = "ready"
Range("L1").Select
Call ScheduleCopyPriceOver
Else
Call ScheduleCopyPriceOver
End If
答案 0 :(得分:1)
您可以使用以下内容。但是,我不知道'ScheduleCopyPriceOver'是什么,所以取消注释该行。并且您的第一个示例使用了列'S',但之后您使用了列'L'。他们都应该是'L'????
Dim lRow As Long
Dim ws As Worksheet
Set ws = ThisWorkbook.Sheets("Sheet5")
Application.ScreenUpdating = False
For lRow = 1 To 5000
If ws.Cells(lRow, 12) = lRow Then
ws.Cells(lRow, 12).Select
'Call ScheduleCopyPriceOver
End If
Next lRow