Forse volevi postare la domanda sul forum veggenti.it, perche' molte cose secondo me sono rimaste nella tua testa e non sono finite nel messaggio...
Quindi mi fermo ora a un paio di considerazioni generiche.
Per trovare l'ultima riga usata in un foglio, se c'e' una "colonna guida" su cui fare affidamento, si usa il classico
- Codice: Seleziona tutto
LastR = Sheets("intervallo").Cells(Rows.Count, "A").End(xlUp).Row
Questa considera la colonna A come quida
Se vuoi cercare l'ultima riga usata in qualunque colonna di un intervallo di colonne, allora, ad esempio:
- Codice: Seleziona tutto
LastR = Range("B:F").Find(What:="*", After:=Range("B1"), _
SearchOrder:=xlByRows, _
SearchDirection:=xlPrevious).Row
Questa guarda nelle colonne B:F; attenzione a quel "B1", va modificato se usi altre colonne
La gestione della tabella e' totalmente diversa, perche' per cominciare devi preoccuparti di capire se nella tabella sono presenti righe libere in quantita' sufficiente per le righe che vuoi aggiungere.
Un metodo un po' rozzo e' aggiungere alla tabella tante righe quante ne vuoi aggiungere, senza preoccuparsi delle righe vuote gia' disponibili.
Comincio a inserirti come fare le cose piu' comuni:
- Codice: Seleziona tutto
With Sheets("Tabella 1").ListObjects("TabellaA") '<<< Foglio e nome Tabella
'Per aggiungere un Tot di righe in coda alla tabella:
For i = 1 To NumeroDiRigheDaInserire
.ListRows.Add
Next i
'Trovare l'ultima riga usata in colonna:
LastInColumn = .DataBodyRange.Cells(.ListRows.Count, 1).End(xlUp).Row '<< Ultima usata in colonna 1
'Per copiare a partire da una riga (non controlla se le righe sono libere!):
Sheets("Inserimento").Range("B18:D18").Copy Destination:=.Parent.Cells(LastInColumn + 1, 1)
End With
Poi qualcosa in piu' si potra' articolare quando sara' piu' chiaro che cosa vorresti copiare, perche' ora il foglio INSERIMENTO per me e' poooco chiaro
Ciao