Valutazione 4.87/ 5 (100.00%) 5838 voti

Condividi:        

separare in blocchi un elenco di numeri

Vuoi potenziare i tuoi documenti Word? Non sai come si fa una macro in Excel? Devi creare una presentazione in PowerPoint?
Oppure sei passato a OpenOffice e non sei sicuro di come lavorare al meglio?

Moderatori: Anthony47, Flash30005

separare in blocchi un elenco di numeri

Postdi milesdavis » 27/04/15 10:18

ho excel 2007
e ho bisogno di una mano. Credo sia un problema semplice....

ho un elenco di 2000 numeri (formattati come testo)

vorrei sapere se c'è una formula per separarli in 20 blocchi indipendenti da 100 ognuno
il 1° da 01 a 100
il 2° da 101 a 200
ecc...

al limite anche in diverse pagine.
grazie
milesdavis
Utente Junior
 
Post: 89
Iscritto il: 24/12/08 08:49

Sponsor
 

Re: separare in blocchi un elenco di numeri

Postdi Anthony47 » 27/04/15 11:26

Credo sia un problema semplice....
Se e' un problema semplice allora perche' chiedi a noi?? :D :D

Una macro come questa posizionera' i dati presenti in colonna A del foglio iniziale in N fogli successivi a blocchi di 100 (programmabile); se gli N fogli non sono gia' presenti allora saranno prima creati.
Codice: Seleziona tutto
Sub splitter()
Dim I As Long, J As Long, myBlock As Long, LastA As Long
'
myBlock = 100
'
Sheets(1).Select
LastA = Cells(Rows.Count, "A").End(xlUp).Row
If Worksheets.Count < Int(LastA / myBlock + 2) Then
    Sheets.Add After:=Sheets(Sheets.Count), Count:=(LastA / myBlock + 2 - Sheets.Count)
End If
'
For I = 1 To LastA Step myBlock
    Sheets(J + 2).Range("A:A").ClearContents
    Sheets(J + 2).Range("A1").Resize(myBlock, 1).Value = Range("A1").Offset(J * myBlock, 0).Resize(myBlock, 1).Value
    J = J + 1
Next I
End Sub

Il foglio dati deve essere obbligatoriamente "il primo", indipendentemente dal nome del foglio; i blocchi saranno posizionati in colonna A dei fogli "successivi", previo AZZERAMENTO SENZA PREAVVISO della colonna A di ogni foglio.

Ciao
Anthony
Win7 + Office 2010 Ita; Win 7 + Office 2013 Ita
Xp + Office 2003 Ita
E voi cosa usate? (per istruzioni vedere viewtopic.php?f=26&t=97449)
Avatar utente
Anthony47
Moderatore
 
Post: 13894
Iscritto il: 21/03/06 16:03
Località: Ivrea

Re: separare in blocchi un elenco di numeri

Postdi milesdavis » 27/04/15 11:41

grazie Anthony47,
...semplice per chi conosce excel... :D non voglio parlar male di nessuno.. e sopratutto di me! :D :D

...pensavo fosse una opzione già disponibile in excel
vedere la risposta mi ha tirato su di morale :D non sono così caprone come pensavo! ;)

ma se ti dicessi che le colonne che utilizzo sono 2 ? Ti arrabbi molto? :oops:
solo se puoi
grazie
milesdavis
Utente Junior
 
Post: 89
Iscritto il: 24/12/08 08:49

Re: separare in blocchi un elenco di numeri

Postdi Anthony47 » 27/04/15 11:58

ma se ti dicessi che le colonne che utilizzo sono 2 ? Ti arrabbi molto?
No, non mi arrabbio...
Pero' ti chiedo di provare prima ad adattare la soluzione al tuo tracciato dati, e se non ci riesci scrivi ancora precisando quale e' il tuo tracciato e quale la richiesta.

Ciao
Anthony
Win7 + Office 2010 Ita; Win 7 + Office 2013 Ita
Xp + Office 2003 Ita
E voi cosa usate? (per istruzioni vedere viewtopic.php?f=26&t=97449)
Avatar utente
Anthony47
Moderatore
 
Post: 13894
Iscritto il: 21/03/06 16:03
Località: Ivrea

Re: separare in blocchi un elenco di numeri

Postdi Anthony47 » 28/04/15 01:31

Un amico mi ha fatto notare discretamente che la macro che ho postato contiene un baco concettuale: se e' necessario aggiungere dei fogli al file allora il foglio dei dati viene deselezionato, col risultato che in realta' i fogli risulteranno vuoti. Ripetendo la macro il funzionamento risulterebbe corretto poiche' ragionevolmente ora non c'e' bisogno di aggiungere nuovi fogli.
Per rimediare, bisogna qualificare correttamente l' origine dei dati da copiare; quindi non
Sheets(J + 2).Range("A1").Resize(myBlock, 1).Value = Range("A1").Offset(J * myBlock, 0).Resize(myBlock, 1).Value
Ma
Codice: Seleziona tutto
    Sheets(J + 2).Range("A1").Resize(myBlock, 1).Value = Sheets(1).Range("A1").Offset(J * myBlock, 0).Resize(myBlock, 1).Value

Grazie Ricky...
Anthony
Win7 + Office 2010 Ita; Win 7 + Office 2013 Ita
Xp + Office 2003 Ita
E voi cosa usate? (per istruzioni vedere viewtopic.php?f=26&t=97449)
Avatar utente
Anthony47
Moderatore
 
Post: 13894
Iscritto il: 21/03/06 16:03
Località: Ivrea

Re: separare in blocchi un elenco di numeri

Postdi milesdavis » 28/04/15 22:28

un grazie ad Anthony47
lo proverò al più presto
milesdavis
Utente Junior
 
Post: 89
Iscritto il: 24/12/08 08:49


Torna a Applicazioni Office Windows


Topic correlati a "separare in blocchi un elenco di numeri":


Chi c’è in linea

Visitano il forum: Nessuno e 14 ospiti