对于Excel VBA,我是完全新手
如果满足某些条件,我有一项任务要将行从sheet1复制到sheet 2 .
在sheet1中,列JY中的值以列MV结尾我希望如果你能帮我编写一个宏来将所有行复制到包含小于1的值的sheet2 . 一行可能有多个<1值 .
例如:第16行可以在jY 0.9列和MA 0.5下
最好的结果是在表2中只看到列A,B,C,D和列的值小于1,但如果不可能那么复制整行就没问题了 .
到目前为止,我发现了一个复制正好值为1的代码
这是我想要更改的代码:
Sub SearchForNumber1()
Dim LSearchRow As Integer
Dim LCopyToRow As Integer
On Error GoTo Err_Execute
'Start search in row 1
LSearchRow = 1
'Start copying data to row 2 in Sheet2 (row counter variable)
LCopyToRow = 2
While Len(Range("A" & CStr(LSearchRow)).Value) > 0
'If value in column E = "Mail Box", copy entire row to Sheet2
If Range("B" & CStr(LSearchRow)).Value = "1" Then
'Select row in Sheet1 to copy
Rows(CStr(LSearchRow) & ":" & CStr(LSearchRow)).Select
Selection.Copy
'Paste row into Sheet2 in next row
Sheets("Sheet2").Select
Rows(CStr(LCopyToRow) & ":" & CStr(LCopyToRow)).Select
ActiveSheet.Paste
'Move counter to next row
LCopyToRow = LCopyToRow + 1
'Go back to Sheet1 to continue searching
Sheets("Sheet1").Select
End If
LSearchRow = LSearchRow + 1
Wend
'Position on cell A3
Application.CutCopyMode = False
Range("A3").Select
MsgBox "All matching data has been copied."
Exit Sub
Err_Execute:
MsgBox "An error occurred."
End Sub
2 回答
愿这有用,
在A,B,C和K列中,L,M
结果:
只需导入这些行,只能从A到C(如果你想要的话,只需增加复制范围的列)
一张 Value 千言万语的图片
Edit #1
以下是您在评论中提出的代码:
Edit#2
遍历值,如果任何值<1,则将值仅放在F列的一行中,即另一个单元格中的下一个值 .
这是我的结果:
将值收集到变量数组中将快速运行它们,查找有效值以将其转移到Sheet2 .