0
複数の条件でセルを見つけ、別のシートに貼り付ける以下のコードを固定するための代替案または提案。複数の条件のセルを見つけて同じシートを別のシートに貼り付ける(簡体字)
Sub test()
'For Move Entire Row to New Worksheet if Cell Contains Specific Text's
'Using autofilter to Copy rows that contain certain text to a sheet called commodity
Dim LR As Long
Range("A2").EntireRow.Insert Shift:=xlDown
LR = Sheets("Data").Cells(Rows.Count, "E").End(xlUp).Row
LR1 = Sheets("Commodity").Cells(Rows.Count, "A").End(xlUp).Row + 1
With Sheets("Data").Range("e:e")
.AutoFilter Field:=1, Criteria1:=("*SILVER*")
.SpecialCells(xlCellTypeVisible).EntireRow.Copy
Destination:=Sheets("Commodity").Range("A" & LR1)
.SpecialCells(xlCellTypeVisible).EntireRow.Delete
End With
With Sheets("Data").Range("e:e")
.AutoFilter Field:=1, Criteria1:=("*GOLD*")
.SpecialCells(xlCellTypeVisible).EntireRow.Copy
Destination:=Sheets("Commodity").Range("A" & LR1)
.SpecialCells(xlCellTypeVisible).EntireRow.Delete
End With
With Sheets("Data").Range("e:e")
.AutoFilter Field:=1, Criteria1:=("*MCX*")
.SpecialCells(xlCellTypeVisible).EntireRow.Copy
Destination:=Sheets("Commodity").Range("A" & LR1)
.SpecialCells(xlCellTypeVisible).EntireRow.Delete
End With
End Sub
を.Cells(Sheets( "Data")。Rows.Count、 "E")。End(xlUp).Row'。また、 'LR1'は範囲をペーストした後に毎回変わるので、ペーストするたびに' LR1'を再検索する必要があります。 –
どのように私はマクロの時間を短縮することができますどのような方法は、すべての単純化されたバージョンtime.againの多くを取る? –
最初に 'Application.ScreenUpdating = False'を使い、最後に' Application.ScreenUpdating = True'で復元します –