Ho bisogno di aiuto, ho alcuni fogli su cui ho dati da associare al foglio ANDREA se la matricola in colonna B trova una corrispondenza nel foglio ANDREA.
Ovvero se le matricole corrispondono, devo copiare i dati presenti nella riga corrispondente alla matricola cercata e riportarli nel foglio interessato ,riportando solo alcuni dati presenti in determinate colonne.
Ho scritto il codice seguente iniziando con il foglio "351" ,ma non funziona e mi riporta solo alcune righe e a volte nessuna.
Premessa: Nel foglio ANDREA le matricole sono precedute da una lettera ,mentre nei fogli sono solo composte da numeri, esempio R1246/14 - 1246/14.
Codice....
- Codice: Seleziona tutto
Sub Controllo()
Dim LRow, rowsUpdtd As Single
Application.EnableEvents = False
LRow = Worksheets("351").Range("A" & Rows.Count).End(xlUp).Row
If LRow > 1 Then
Worksheets("351").Range("R3:V" & Rows.Count).Clear
End If
Dim i, j, iLRow, jLRow, foundRow As Single
Dim matricola As String
iLRow = Worksheets("351").Range("A" & Rows.Count).End(xlUp).Row
Application.ScreenUpdating = False
rowsUpdtd = 0
For i = 3 To LRow
foundRow = 0
matricola = Worksheets("351").Cells(i, "B").Value
With Worksheets("ANDREA").Range("B2:B" & iLRow)
Set cell = .Find(matricola)
If Not cell Is Nothing Then
foundRow = cell.Row
rowsUpdtd = rowsUpdtd + 1
End If
End With
If foundRow > 0 Then
'ROTORE
Worksheets("ANDREA").Range("E" & foundRow).Copy _
Destination:=Worksheets("351").Range("R" & i)
'2 STADIO
Worksheets("ANDREA").Range("F" & foundRow).Copy _
Destination:=Worksheets("351").Range("S" & i)
'301
Worksheets("ANDREA").Range("J" & foundRow).Copy _
Destination:=Worksheets("351").Range("T" & i)
'3STADIO
Worksheets("ANDREA").Range("K" & foundRow).Copy _
Destination:=Worksheets("351").Range("U" & i)
'351
Worksheets("ANDREA").Range("L" & foundRow).Copy _
Destination:=Worksheets("351").Range("V" & i)
End If
Next i
Application.EnableEvents = True
MsgBox ("Aggiornate " & rowsUpdtd & " matricole!")
End Sub
Dove sbaglio? Grazie anticipato a chi mi darà aiuto........