Condividi:        

dividere righe foglio in parti uguali

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

dividere righe foglio in parti uguali

Postdi mirmidone21 » 14/10/17 17:21

buonasera a tutti,
rieccomi qua per chiedere il vostro aiuto, vengo subito al problema:
ho un foglio di n righe ed ho bisogno di una macro che in base al numero delle righe, le divida per 5 e poi in una colonna scriva il testo XPR01, poi XPR02 e cosi' via.
in pratica se il foglio è di 100 righe, la macro dovrebbe scrivere nella colonna "COD.ID" per le prime 20 righe il testo "XPR01" poi dalla 21 esima riga fino alla 40 esima il testo"XPR02" e cosi via ....
spero di essermi spiegato bene, vi allego un file di esempio.

Immagine

file esempio

https://drive.google.com/file/d/0B2rmVFc8x3cUbUVQbjl5YW4yb0E/view?usp=sharing
Windows 7 sp1 -- Office 2013
Intel i5 4430 -- 3.00 ghz ---- 4gb RAM
mirmidone21
Utente Senior
 
Post: 149
Iscritto il: 26/10/15 16:48

Sponsor
 

Re: dividere righe foglio in parti uguali

Postdi Zer0Kelvin » 14/10/17 18:59

Ciao.
Questa macro fa quello che chiedi

Codice: Seleziona tutto
Public Sub DividiElenco()
Dim Sh As Worksheet
Dim nRighe As Long, RigheSettore As Long, Riga  As Long, Riga2  As Long, Settore As Long
    Set Sh = Sheets("Foglio1")
    With Sh
        nRighe = .Range("A1").End(xlDown).Row - 1
        RigheSettore = nRighe / 5
        Riga = 1
        Riga2 = 1
        Settore = 1
        Do While Riga <= nRighe
            Riga = Riga + 1
            .Cells(Riga, 6) = "XPR" & Format(Settore, "00")
            Riga2 = Riga2 + 1
            If Riga2 > RigheSettore Then
                Riga2 = 1
                Settore = Settore + 1
            End If
        Loop
    End With
    Set Sh = Nothing
End Sub
però funziona bene solo se il n° di righe della tabella è sempre un multiplo di 5.
Se non è cosi, va modificata.
[Win7,Office2010]
Condividere la conoscenza aumenta la ricchezza di tutti(Z0°K)
Dai ad un uomo un pesce e lo avrai sfamato per un giorno;insegnagli a pescare e lo avrai sfamato per sempre(Confucio)
Il sonno della ragione genera mostri(Francisco Goya)
Avatar utente
Zer0Kelvin
Utente Senior
 
Post: 388
Iscritto il: 08/04/12 11:23

Re: dividere righe foglio in parti uguali

Postdi FRIEDRICH » 14/10/17 21:50

Ciao a tutti,
questa dovrebbe funzionare indipendentemente dal numero di righe:
Codice: Seleziona tutto
Sub DividiRiga()
   
    Dim UltimaRiga As Integer
    Dim i As Integer
    Dim Gruppi As Integer
   
    With Worksheets("Foglio1") 'Foglio di lavoro
        UltimaRiga = .Cells(.Rows.Count, 1).End(xlUp).Row  'determina ultima riga vuota della colonna "A"
        Gruppi = (UltimaRiga - 1) / 5
       
        For i = 2 To UltimaRiga 'dalla seconda all'ultima riga
           
            Cells(i, 6).Value = "XPR" & Format(Int(((Cells(i, 1).Row - 1) - 1) / Gruppi) + 1, "00")
           
            Next i
        End With
    End Sub
   
Avatar utente
FRIEDRICH
Utente Junior
 
Post: 32
Iscritto il: 09/07/17 17:14

Re: dividere righe foglio in parti uguali

Postdi mirmidone21 » 15/10/17 08:12

grazie Zer0Kelvin, e grazie FRIEDRICH, perfetto tutto funziona esattamente come mi serviva.
siete eccezionali come sempre, grazie ancora, mi avete risolto un problemone enorme.
alla prossima, che sicuramente non tarderà ad arrivare :)
Windows 7 sp1 -- Office 2013
Intel i5 4430 -- 3.00 ghz ---- 4gb RAM
mirmidone21
Utente Senior
 
Post: 149
Iscritto il: 26/10/15 16:48


Torna a Applicazioni Office Windows


Topic correlati a "dividere righe foglio in parti uguali":


Chi c’è in linea

Visitano il forum: papiriof e 69 ospiti