复制粘贴崩溃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吗?