Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

Numerazione progressiva elenco in VBA

707 views
Skip to first unread message

pierluigi

unread,
Mar 16, 2010, 12:39:01 PM3/16/10
to
Dopo aver letto le tante risposte già fornite ad altri utenti eccomi qui a
richiedere il vostro aiuto.

da macro copio un elenco qualsiasi in un foglio la cui linguetta l'ho
rinominata DOSSIER TITOLI.

Tale elenco è sprovvisto di una colonna con la numerazione progressiva.
Ora, in colonna A abbiamo la data.
Quindi, da VBA gli faccio inserire una colonna e così facendo la data slitta
in colonna B.
sempre da VBA in A1 inserisco l'intestazione "Num.Progr."

... e qui viene il bello ...

Devo numerare la colonna A a partire da A2 con 1 ... A3 con 2 ... A4 con 3
... e così via via ma deve interrompersi all'ultimo record che trova sulla
colonna B.

Pertanto al variare dell'elenco in lunghezza, lanciando la macro dovrò poter
avere l'elenco tutto numerato, quindi se l'elenco è lungo 1237 record
compresa l'intestazione, dovrei trovarmi l'ultimo record con una numerazione
progressiva finale 1236 perchè il primo record è dato dall'intestazione.
Il tutto in VBA e quindi niente trascinamenti a mano con formule ... riga
... subtotale ecc.

Mi illuminate?
Grazie.


--
Pierluigi

Mauro Gamberini

unread,
Mar 16, 2010, 12:59:30 PM3/16/10
to
> Devo numerare la colonna A a partire da A2 con 1 ... A3 con 2 ... A4 con
> 3
> ... e così via via ma deve interrompersi all'ultimo record che trova sulla
> colonna B.
>

Facendo esattamente(o più o meno..;-) )
quello che faresti in Excel lato celle:

Public Sub m()

'dichiaro le variabili
Dim wk As Workbook
Dim sh As Worksheet
Dim lUltRiga As Long

'metto un riferimento al worksbook
'che contiene il codice
Set wk = ThisWorkbook

'metto un riferimento al Foglio1
With wk
Set sh = .Worksheets("Foglio1")
End With

With sh
'trovo l'ultima riga con
'dati della colonna B
lUltRiga = .Range("B" & _
.Rows.Count).End(xlUp).Row
'valorizzo A2 e A3
.Range("A2").Value = 1
.Range("A3").Value = 2
'le seleziono
.Range("A2:A3").Select
'AutoFill
.Range("A2:A3").AutoFill _
Destination:=Range("A2:A" & _
lUltRiga)
End With

'Set a Nothing delle variabili oggetto
Set sh = Nothing
Set wk = Nothing

End Sub

Modifica i riferimenti a nome foglio con i tuoi.

Grazie per l'attenzione.

--
---------------------------
Mauro Gamberini
Microsoft MVP - Excel
http://www.riolab.org/
http://www.maurogsc.eu/
http://social.microsoft.com/Forums/it-IT/excelit/threads


__________ Informazioni da ESET NOD32 Antivirus, versione del database delle firme digitali 4949 (20100316) __________

Il messaggio è stato controllato da ESET NOD32 Antivirus.

www.nod32.it

0 new messages