View Full Version : Come velocizzare la numerazione delle righe in MS Excel o OO Calc?
phantom85
09-10-2009, 10:29
Ciao a tutti, ho bisogno di un suggerimento per semplificarmi la vita.
Ho una serie di file excel in cui, per ogni riga, dovrei inserire una numerazione progressiva. Ad esempio
1 XXXXXXXXXXXXXX
2 XXXXXXXXXXXXXXXXX
...
150 XXXXXXXXXXXXXXX
e così via.
Naturalmente in excel o calc è sufficiente inserire un numero e poi trascinare con il mouse dall'angolo in basso a destra della cella verso il basso.
Il problema è che un conto se le righe fossero un centinaio...qui si parla di file con 65000 righe :eek: e il primo file va da 1 a 65000, il secondo parte da 65001 ecc ecc :)
C'è un modo per accelerare l'operazione ed evitare che mi vengano crampi alle mani? ;D
john_revelator
09-10-2009, 10:32
Usi una banalissima macro
Sub numera()
Dim i as Long
For i = 1 To 60000
Range("a" & i).Value = i
Next i
End Sub
L'esempio che ti ho scritto, numererà le righe nella colonna A del foglio da cui viene lanciata la macro da 1 a 60000. :)
edit. In Calc, almeno per le cose banali, solitamente è sufficiente anteporre alla sub la riga
option vbasupport 1
Non l'ho testata ma credo che dovrebbe digerirla. :)
phantom85
09-10-2009, 11:18
Mi puoi gentilmente dire come inserire la macro?
john_revelator
09-10-2009, 11:50
In excel vai su strumenti -> macro -> macro, come nome macro metti ad esempio numera e premi invio. Una volta entrato nell'editor vba incolla il codice che ti ho scritto. Salva e seguendo lo stesso percorso selezioni la macro creata e la esegui. Fai attenzione che nel caso avessi dati nella colonna A verrebbero cancellati. Accertati che la colonna A sia vuota.
Il problema è che un conto se le righe fossero un centinaio...qui si parla di file con 65000 righe :eek: e il primo file va da 1 a 65000, il secondo parte da 65001 ecc ecc :)
C'è un modo per accelerare l'operazione ed evitare che mi vengano crampi alle mani? ;D
tenendo buono quello che ha detto john...
prova ad usare questa se preferisci
Sub numera()
Dim i As Long
strnameA = InputBox(Prompt:="Numerazione DA:", Title:="Numero di partenza", Default:="scrivi il numero")
strnameB = InputBox(Prompt:="Numerazione A:", Title:="Numero di arrivo", Default:="scrivi il numero")
a = 1
For i = strnameA To strnameB
Range("a" & a).Value = i
a = a + 1
Next i
End Sub
phantom85
09-10-2009, 13:07
Fantastico! :D :D :D
@john_revelator: la macro non funzia, mi dà errore di runtime e mi indica la riga "Range..."
@zuper: funzia egregiamente, grazie!!!!
john_revelator
09-10-2009, 13:44
@john_revelator: la macro non funzia, mi dà errore di runtime e mi indica la riga "Range..."
Dove non funziona, in excel o in calc?
In excel va di sicuro, in calc come dicevo non ho avuto modo di provarla.
phantom85
09-10-2009, 14:28
no io l'ho provata in excel e mi dà un errore in runtime!
Comunque grazie comunqe,ho usato quella di zuper che mi permette di inserire in ogni file inizio e fine.
Ma se volessi salvarla, senza dover inserirla ogni volta in ogni file, come dovrei fare??
phantom85
09-10-2009, 15:12
Se volessi fare una cosa simile alla numerazione, cioè poter inserire la cella di partenza e quella di fine, senza inserire un numero progressivo ma un testo sempre uguale? ad esempio "valore iniziale", come dovrei fare?
Se volessi fare una cosa simile alla numerazione, cioè poter inserire la cella di partenza e quella di fine, senza inserire un numero progressivo ma un testo sempre uguale? ad esempio "valore iniziale", come dovrei fare?
Sub numera()
Dim i As Long
strnameA = InputBox(Prompt:="Numerazione DA:", Title:="Numero di partenza", Default:="scrivi il numero")
strnameB = InputBox(Prompt:="Numerazione A:", Title:="Numero di arrivo", Default:="scrivi il numero")
a = 1
For i = strnameA To strnameB
Range("a" & i).Value = "valore da inserire"
a = a + 1
Next i
End Sub
Ma se volessi salvarla, senza dover inserirla ogni volta in ogni file, come dovrei fare??
http://ennius.interfree.it/vba/vba125.htm
Ciao a tutti, ho bisogno di un suggerimento per semplificarmi la vita.
Ho una serie di file excel in cui, per ogni riga, dovrei inserire una numerazione progressiva. Ad esempio
1 XXXXXXXXXXXXXX
2 XXXXXXXXXXXXXXXXX
...
150 XXXXXXXXXXXXXXX
e così via.
Naturalmente in excel o calc è sufficiente inserire un numero e poi trascinare con il mouse dall'angolo in basso a destra della cella verso il basso.
Il problema è che un conto se le righe fossero un centinaio...qui si parla di file con 65000 righe :eek: e il primo file va da 1 a 65000, il secondo parte da 65001 ecc ecc :)
C'è un modo per accelerare l'operazione ed evitare che mi vengano crampi alle mani? ;D
CALC:
- seleziona un intervallo pari o maggiore ai numeri da inserire
- dalla barra dei menù seleziona modifica>compila>serie
- nella finestra "Serie" compila le caselle "Valore iniziale" e, se l'intervallo selezionato è maggiore dei numeri da inserire, "Valore finale"
- dai l'ok
EXCEL:
uguale come per calc salvo che:
- devi inserire il valore iniziale nella prima cella della selezione
- dalla barra dei menù devi selezionare modifica>riempimento>serie
Ciao
vBulletin® v3.6.4, Copyright ©2000-2025, Jelsoft Enterprises Ltd.