我正在尝试复制名为“所有组”的工作表上的整行数据(从A到AF),如果AG列包含特定值,则将其粘贴到名为“绿色”的工作表中(如果AG = 1,蓝色如果AG = 2,红色如果AG = 3)。
然而,我遇到了“类型不匹配错误”。
我在论坛和互联网上寻找类似错误的帖子,但是我没有找到能够帮助我的答案。我正在使用Excel 2016,下面是我的代码:
然而,我遇到了“类型不匹配错误”。
我在论坛和互联网上寻找类似错误的帖子,但是我没有找到能够帮助我的答案。我正在使用Excel 2016,下面是我的代码:
Sub sort()
Dim LSearchRow As Integer
Dim LCopyToRow As Integer
Worksheets("All groups").Select
'Start search in row 3
LSearchRow = 3
'Start copying data to row 3 in Destination Sheet (row counter variable)
LCopyToRow = 3
While Len(Range("A" & CStr(LSearchRow)).Value) > 0
'If value in column AG = "1", copy and paste entire row to Green. Then go back and continue searching
If Range("AG" & CStr(LSearchRow)).Value = "1" Then
Rows(CStr(LSearchRow) & "A:AF" & CStr(LSearchRow)).Select
Selection.Copy
Worksheets("Green").Select
Rows(CStr(LCopyToRow) & "A:AF" & CStr(LCopyToRow)).Select
ActiveSheet.Paste
LCopyToRow = LCopyToRow + 1
Worksheets("All groups").Select
'If value in column AG = "2", copy and paste entire row to Blue. Then go back and continue searching
ElseIf Range("AG" & CStr(LSearchRow)).Value = "2" Then
Rows(CStr(LSearchRow) & "A:AF" & CStr(LSearchRow)).Select
Selection.Copy
Worksheets("Blue").Select
Rows(CStr(LCopyToRow) & "A:AF" & CStr(LCopyToRow)).Select
ActiveSheet.Paste
LCopyToRow = LCopyToRow + 1
Worksheets("All groups").Select
'If value in column AG = "3", copy and paste entire row to Red. Then go back and continue searching
Else
Rows(CStr(LSearchRow) & "A:AF" & CStr(LSearchRow)).Select
Selection.Copy
Worksheets("Red").Select
Rows(CStr(LCopyToRow) & "A:AF" & CStr(LCopyToRow)).Select
ActiveSheet.Paste
LCopyToRow = LCopyToRow + 1
Worksheets("All groups").Select
End If
Wend
End Sub
Rows(...
语句很奇怪...无论如何,由于您没有突出显示的行,我建议您在几乎每一行上设置断点,以缩小罪魁祸首所在的行。您习惯这样调试吗?如果不是,我会为您尝试提供一个经过策划的解决方案!;) - R3uK