3つの条件が満たされた場合に行をコピーするマクロを作成しようとしています。そのような:
「A」=Bおよび「D」=Eおよび「F」=Gの場合次に、行をシート2の次の使用可能な行にコピーします。
「A」=Cおよび「D」=Fおよび「F」=Hの場合次に、行をシート2の次の使用可能な行にコピーします。
上記の手順を最大50回繰り返す必要があります。列は変更されません
これは私がこれまでに持っているものです:
`Sub SearchForString()
Dim LSearchRow As Integer
Dim LCopyToRow As Integer
On Error GoTo Err_Execute
'Start search in row 4
LSearchRow = 4
'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 value in column D = "0", copy entire row to Sheet2
'If value in column A = "5", copy entire row to Sheet2
'If Range("E" & CStr(LSearchRow)).Value = "Mail Box" Then
If Range("F" & CStr(LSearchRow)).Value = "Mail Box" And _
Range("E" & CStr(LSearchRow)).Value = "0" And _
Range("A" & CStr(LSearchRow)).Value = "5" Then
'If Range("E" & CStr(LSearchRow)).Value = "Mail Box" 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
'Search 2
'Start search in row 4
LSearchRow = 4
'Start copying data to row 3 in Sheet2 (row counter variable)
LCopyToRow = 3
While Len(Range("A" & CStr(LSearchRow)).Value) > 0
'If value in column E = "Mail Box", copy entire row to Sheet2
'If value in column D = "1", copy entire row to Sheet2
'If value in column A = "5", copy entire row to Sheet2
'If Range("E" & CStr(LSearchRow)).Value = "Mail Box" Then
If Range("F" & CStr(LSearchRow)).Value = "Mail Box" And _
Range("E" & CStr(LSearchRow)).Value = "1" And _
Range("A" & CStr(LSearchRow)).Value = "5" Then
'If Range("E" & CStr(LSearchRow)).Value = "Mail Box" 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