复制并粘贴下一个而不显示vba错误
我有一张数据表,在我的数据范围内,O列有两个值,新值或以前的待定值,它们基于另一列公式。我希望循环遍历O列中的每个单元格,查看哪些单元格是新的,并将其仅粘贴为值。现在我得到了下一个没有for的复制并粘贴下一个而不显示vba错误,vba,excel,Vba,Excel,我有一张数据表,在我的数据范围内,O列有两个值,新值或以前的待定值,它们基于另一列公式。我希望循环遍历O列中的每个单元格,查看哪些单元格是新的,并将其仅粘贴为值。现在我得到了下一个没有for的错误 下面是我的vba代码中失败的部分 'Values With ActiveSheet.Range("O:O") Dim x As Long For x = 100 To 2 Step -1 If Cells(x, 15).Value = "New" Then
错误
下面是我的vba代码中失败的部分
'Values
With ActiveSheet.Range("O:O")
Dim x As Long
For x = 100 To 2 Step -1
If Cells(x, 15).Value = "New" Then
Cells(x, 15).Copy
Cells(x, 15).PasteSpecial xlPasteValues
Next x
End With
您不必从下到上开始,您可以计算行数,这样就不会循环过长
Sub Button1_Click()
Dim Rng As Range, c As Range
Set Rng = Range("O2:O" & Cells(Rows.Count, "O").End(xlUp).Row)
For Each c In Rng.Cells
If c = "New" Then c.Value = c.Value
Next c
End Sub
您不必从下到上开始,您可以计算行数,这样就不会循环过长
Sub Button1_Click()
Dim Rng As Range, c As Range
Set Rng = Range("O2:O" & Cells(Rows.Count, "O").End(xlUp).Row)
For Each c In Rng.Cells
If c = "New" Then c.Value = c.Value
Next c
End Sub
如果
使用语句的目的是什么,则缺少一个结尾Cells()
是不合格的,并且已经引用了ActiveSheet
。发生此编译时错误是因为If
块未关闭,因此由于If
块中没有For
语句,编译器遇到了一个不合适的Next
语句,因此:下一步没有For。谢谢,它解决了我的错误问题。使用将使此错误立即跳向您;-)如果
使用语句的目的是什么,则缺少一个结尾Cells()
是不合格的,并且已经引用了ActiveSheet
。发生此编译时错误是因为If
块未关闭,因此由于If
块中没有For
语句,编译器遇到了一个不合适的Next
语句,因此:下一步没有For。谢谢,它解决了我的错误问题。使用将使此错误立即跳向您;-)