复制粘贴崩溃VBA

复制粘贴崩溃VBA,vba,excel,copy-paste,paste,Vba,Excel,Copy Paste,Paste,我有以下代码: Private Sub Update_To_Search_Click() 'add the user id and date in the lock and date columns Dim r As Range Dim wb As Workbook Set wb = Workbooks("GOOD") Set r = ActiveCell For i = 1 To Rows.count Set r = r.Offset(1, 0) If r.Entir

我有以下代码:

Private Sub Update_To_Search_Click()
'add the user id and date in the lock and date columns
Dim r As Range
Dim wb As Workbook
 Set wb = Workbooks("GOOD")
 Set r = ActiveCell
 For i = 1 To Rows.count
     Set r = r.Offset(1, 0)
     If r.EntireRow.Hidden = False Then
         r.Select
         GoTo Continue
     End If
 Next

Continue:
ActiveCell.Offset(0, 67).Select
If ActiveCell.Value = "" Then
    ActiveCell.Value = UCase(Environ("UserName"))
    ActiveCell.Offset(0, 1).Value = Now
    ActiveCell.EntireRow.Select
    Selection.Copy
    wb.Activate
    Sheets("GoodDBData").Select
    Range("A2").Select
    ActiveSheet.Paste

Else
    ActiveCell.EntireRow.Select
    Selection.Copy
    wb.Activate
    Sheets("GoodDBData").Select
    Range("A2").Select
    ActiveSheet.Paste
End If
End sub
运行时,它会一直旋转[不响应]。我已经使用粘贴编码很多次了,以前从未发生过

知道为什么吗? 谢谢你。此外,使用
GoTo
通常是不受欢迎的

此外,您很可能不希望实际循环遍历Excel中的每一行。这可能会导致它挂断/出错

这个代码应该有效,我想我按照你的意思保存了它:

Private Sub Update_To_Search_Click()
'add the user id and date in the lock and date columns
Dim r       As Range
Dim wb      As Workbook
Set wb = Workbooks("GOOD")
Set r = wb.Worksheets("Sheet1").Range("A1")       ' CHANGE THIS WORKSHEET to the correct name, and update the starting cell!!!!!!!
For i = 1 To wb.Worksheets("Sheet1").Cells(rows.count,1).End(xlUp).Row ' Change this to the column with the most data
    Set r = r.Offset(1, 0)
    If r.EntireRow.Hidden = False Then
        If r.Offset(0, 67).Value = "" Then
            r.Offset(0, 67).Value = UCase(Environ("UserName"))
            r.Offset(0, 67).Offset(0, 1).Value = Now
            r.Offset(0, 67).EntireRow.Copy wb.Sheets("GoodDBData").Range("A2").Paste
        Else
            r.EntireRow.Copy
            wb.Sheets("GoodDBData").Range("A2").Paste
        End If
    End If
Next
Application.CutCopyMode = False
End Sub

“崩溃”和“不工作”是糟糕的问题描述,不能真正帮助提出一个好的、清晰的问题。请随意在您的帖子中包含您得到的具体错误,以及导致错误的具体语句。我正在循环查找未隐藏的行。我最初是基于某些条件进行筛选,然后我想获取已筛选的行(因此是未隐藏的行)并将其复制粘贴到wb工作簿中。对于未初始化的循环,我得到一个运行时错误92?我还是VBA新手,你知道这个错误是关于什么的吗?@ValS-Hmm-哪一行抛出了这个错误?如果启用了
选项Explicit
,则可能需要添加
尺寸i,长度为
。我试了试我的comp,我可以开始循环了。检查工作表名称和工作簿引用是否正确。这实际上是userform按钮命令的一部分。我应该在Userform的开头添加optionexplicit吗?