我有一个VBA宏,从一个工作表复制行到另一个基于查找3列中的单元格中的值。该宏可以工作,但在到达32767行时会崩溃。此行中没有公式或特殊格式。此外,我已经拿出了这一行,但它仍然在该行号上崩溃。这是Excel中的限制吗?有工作表中的某些43000正被处理VBA宏崩溃后32000行
因此,我问什么是错我的宏,我怎么能得到它到达工作表的末尾:
Dim LSearchRow As Integer
Dim LCopyToRow As Integer
Dim wks As Worksheet
On Error GoTo Err_Execute
对于每个周在工作表
LSearchRow = 4
LCopyToRow = 4
ThisWorkbook.Worksheets.Add After:=Worksheets(Worksheets.Count)
Set wksCopyTo = ActiveSheet
wks.Rows(3).EntireRow.Copy wksCopyTo.Rows(3)
While Len(wks.Range("A" & CStr(LSearchRow)).Value) > 0
If wks.Range("AB" & CStr(LSearchRow)).Value = "Yes" And wks.Range("AK" & CStr(LSearchRow)).Value = "Yes" And wks.Range("BB" & CStr(LSearchRow)).Value = "Y" Then
Rows(CStr(LSearchRow) & ":" & CStr(LSearchRow)).Select
Selection.Copy
wksCopyTo.Select
wksCopyTo.Rows(CStr(LCopyToRow) & ":" & CStr(LCopyToRow)).Select
wksCopyTo.Paste
'Move counter to next row
LCopyToRow = LCopyToRow + 1
'Go back to Sheet1 to continue searching
wks.Select
End If
LSearchRow = LSearchRow + 1
Wend
Application.CutCopyMode = False
Range("A3").Select
MsgBox "All matching data has been copied."
Next wks
Exit Sub
Err_Execute:
MsgBox "An error occurred."
请帮忙!
IIRC VBA的“整型”类型是16位宽。有“长”吗?我忘了。 – cHao
在帮助中查找整数,然后将其更改为长 –
感谢球员 - 但我需要做的只是将数据类型更改为长 – Andy5