Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/vba/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
复制并粘贴下一个而不显示vba错误_Vba_Excel - Fatal编程技术网

复制并粘贴下一个而不显示vba错误

复制并粘贴下一个而不显示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

我有一张数据表,在我的数据范围内,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
         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。谢谢,它解决了我的错误问题。使用将使此错误立即跳向您;-)