
Sub Test()
Dim ws1 As Worksheet, ws2 As Worksheet
Dim rng As Range, cella As Range
Dim vArr As Variant, sRow As String, nLR As Long
Dim nStart As Single
nStart = Timer
Set ws1 = Sheets("PIPPO")
Set ws2 = Sheets("PLUTO")
nLR = ws1.Cells(Rows.Count, 5).End(xlUp).Row
Set rng = ws1.Range("E2:E" & nLR)
For Each cella In rng
If cella.Value = "OK" Then sRow = sRow & " " & cella.Row
Next
sRow = Trim(sRow)
With Application
vArr = .Index(ws1.Columns("A:D"), .Transpose(Split(sRow)), Array(1, 2, 3, 4))
End With
nLR = ws2.Cells(Rows.Count, 1).End(xlUp).Row
ws2.Range("A" & nLR + 1 & ":D" & UBound(vArr) + nLR) = vArr
Set rng = Nothing
Set ws1 = Nothing
Set ws2 = Nothing
MsgBox "Tabella copiata in " & Timer - nStart
End Sub |
Dim ws1 As Worksheet, ws2 As Worksheet
Dim rng1 As Range, cella As Range
Dim vArr As Variant, sRow As String, nLR As Long
Set ws1 = Sheets("Foglio1")
Set ws2 = Sheets("Foglio2")
nLR = ws1.Cells(Rows.Count, 6).End(xlUp).Row
Set rng1 = ws1.Range("F1:F" & nLR)
For Each cella In rng1
If cella.Value = "OK" Then sRow = sRow & " " & cella.Row
Next
sRow = Trim(sRow)
With Application
vArr = .Index(ws1.Columns("A:E"), .Transpose(Split(sRow)), Array(1, 2, 3, 4, 5))
End With
nLR = ws2.Cells(Rows.Count, 1).End(xlUp).Row
ws2.Range("A" & nLR + 1 & ":E" & UBound(vArr) + nLR) = vArr
Set rng1 = Nothing
Set ws1 = Nothing
Set ws2 = Nothing |
