【发布时间】:2015-11-28 12:17:15
【问题描述】:
我有一个包含几张工作表的工作簿,我正在尝试检测 C9:C200 中的数字并将它们复制到一个单元格中的三列以上 - 对于从第 7 个开始的每张工作表。最外面的 forloop 中的代码在单张纸上运行良好,但是当我尝试将其循环到其余的纸上时,我收到一条错误消息。我认为我有两个问题:
我不确定如何在工作簿中循环播放 c9:c200 范围
我想我需要告诉 VBA 重置评估,以便在下一张纸上从头开始。
我的方向正确吗?
谢谢!
Sub MoveQtrLoop()
Dim CEL As Range
Dim RNG As Range
Dim I As Integer
Dim WrkSht As Worksheet
Dim WS_Count As Integer
I = 0
WS_Count = ActiveWorkbook.Worksheets.Count
For Each WrkSht In ActiveWorkbook.Worksheets
I = I + 1
If 6 < I < WS_Count Then
Set RNG = ActiveSheet.Range("c9:C200")
For Each CEL In RNG
If CEL.HasFormula = True Then
CEL.Offset(, 3) = CEL.Value
ElseIf IsNumeric(CEL) = True Then
CEL.Offset(, 3) = CEL.Value
Else
End If ****ERR. OCCURS HERE****
Next CEL
Else
End If
Next WrkSht
结束子
【问题讨论】:
-
错误说明了什么?
标签: excel vba loops if-statement for-loop