Valutazione 4.87/ 5 (100.00%) 5838 voti

Condividi:        

raggruppare x mesi

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

raggruppare x mesi

Postdi raimea » 12/10/13 16:31

iao
con questa macro pensavo di riuscire a mettere una riga
al variare del mese, invece mi funziona solo x il primo mese
e non mi separa piu gli altri mesi
Codice: Seleziona tutto
Sub ordino_saldo()

'--metto righe x mese---------------
ActiveSheet.Unprotect

For I = 4 To Cells(Rows.Count, 4).End(xlUp).Row + 10  '4 prima riga
   
    If Format(Cells(I, 9), "mmm") <> Format(Cells(I - 1, 9), "mmm") Then
   
        With Cells(I, 9).Resize(1, 6)          ' 9 e'la colonna i
            .Borders(xlEdgeTop).ColorIndex = 5  ' blu il colore della riga
            .Borders(xlEdgeTop).Weight = xlMedium
            .Borders(xlEdgeBottom).ColorIndex = 8
        End With
    Else
        With Cells(I, 9).Resize(1, 6) 'quante righe avanti
            .Borders(xlEdgeTop).ColorIndex = 1
            .Borders(xlEdgeTop).Weight = xlThin
            .Borders(xlEdgeBottom).ColorIndex = 1
        End With
    End If
Next I

'----sommo x mese--------------------------------

UR = Worksheets("reale").Range("I" & Rows.Count).End(xlUp).Row  'i  le date

Worksheets("reale").Range("n4:n1000").ClearContents  'N dove metto totale

DataM = Month(Worksheets("reale").Range("I4").Value)
MDataM = Month(Worksheets("reale").Range("I4").Value)

Somma = 0

For RR = 4 To UR + 1
DataM = Month(Worksheets("reale").Range("I" & RR).Value)

If MDataM = DataM Then
    Somma = Somma + Worksheets("reale").Range("k" & RR).Value  'J dove cercare x sommare
Else
Worksheets("reale").Range("N" & RR - 1).Value = Somma

MDataM = DataM
Somma = Worksheets("reale").Range("k" & RR).Value

End If

Next RR

'----metto in ordine cresc date-----------------------
    Range("I4:L500").Select
    Selection.Sort Key1:=Range("I4"), Order1:=xlAscending, Header:=xlNo, _
        OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom, _
        DataOption1:=xlSortNormal
    Range("J1").Select


End Sub


io vorrei mettere una riga di separazione anche fra ottobre/ novembre
novembre / dicembre
che sbaglio ?
https://db.tt/UgsazQoY
http://www.lelugarine.eu
S.O. Seven7, Excell 2010
Avatar utente
raimea
Utente Senior
 
Post: 1101
Iscritto il: 11/02/10 07:33
Località: lago

Sponsor
 

Re: raggruppare x mesi

Postdi Flash30005 » 13/10/13 01:40

Prova questa modificata
Codice: Seleziona tutto
Sub ordino_saldoOk()

'--metto righe x mese---------------
ActiveSheet.Unprotect
UR = Worksheets("reale").Range("I" & Rows.Count).End(xlUp).Row

For I = 5 To UR + 1  '4 prima riga
    MsgBox Month(Cells(I - 1, 9))
    If Month(Cells(I, 9)) <> Month(Cells(I - 1, 9)) Then
   
        With Cells(I, 9).Resize(1, 6)          ' 9 e'la colonna i 7 quante avanti
            .Borders(xlEdgeTop).ColorIndex = 5  ' blu il colore della riga
            .Borders(xlEdgeTop).Weight = xlMedium
            .Borders(xlEdgeBottom).ColorIndex = 8
        End With
    Else
        With Cells(I, 9).Resize(1, 6) 'quante righe avanti
            .Borders(xlEdgeTop).ColorIndex = 1
            .Borders(xlEdgeTop).Weight = xlThin
            .Borders(xlEdgeBottom).ColorIndex = 1
        End With
    End If
Next I

'----sommo x mese--------------------------------

UR = Worksheets("reale").Range("I" & Rows.Count).End(xlUp).Row  'i  le date

Worksheets("reale").Range("n4:n1000").ClearContents  'N dove metto totale

DataM = Month(Worksheets("reale").Range("I4").Value)
MDataM = Month(Worksheets("reale").Range("I4").Value)

Somma = 0

For RR = 4 To UR + 1
DataM = Month(Worksheets("reale").Range("I" & RR).Value)

If MDataM = DataM Then
    Somma = Somma + Worksheets("reale").Range("k" & RR).Value  'J dove cercare x sommare
Else
Worksheets("reale").Range("N" & RR - 1).Value = Somma

MDataM = DataM
Somma = Worksheets("reale").Range("k" & RR).Value

End If

Next RR

'----metto in ordine cresc date-----------------------
    Range("I4:L500").Select
    Selection.Sort Key1:=Range("I4"), Order1:=xlAscending, Header:=xlNo, _
        OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom, _
        DataOption1:=xlSortNormal
    Range("J1").Select


End Sub


ciao
Flash
Win7 + Office 2010 Ita
"Fotografica" al servizio dell'immagine

Ottime opportunità di lavoro (part-time o full-time) con guadagni immediati. Info in MP
Avatar utente
Flash30005
Moderatore
 
Post: 8460
Iscritto il: 27/09/07 11:44
Località: Roma +o-

Re: raggruppare x mesi

Postdi raimea » 13/10/13 06:11

:) tutto ok
ho visto le differenze
grazie
http://www.lelugarine.eu
S.O. Seven7, Excell 2010
Avatar utente
raimea
Utente Senior
 
Post: 1101
Iscritto il: 11/02/10 07:33
Località: lago

Re: raggruppare x mesi

Postdi raimea » 04/01/14 21:54

ciao
sfruttando la macro che separa dei dati al variare del mese
volevo usarla al variare dell'anno su altro file e l'ho adattata cosi:
Codice: Seleziona tutto
Sub separoanni()
'separo x anno

For I = 6 To Cells#Rows.Count, 15).End(xlUp).Row + 10
   
    If Format(Cells(I, 15), "aa") <> Format(Cells(I - 1, 15), "aa") Then
        With Cells(I, 15).Resize(15, 10) ' quante riga andare avanti
            .Borders(xlEdgeTop).ColorIndex = 5 ' blu il colore della riga
            .Borders(xlEdgeTop).Weight = xlMedium
            .Borders(xlEdgeBottom).ColorIndex = 1   'xlAutomatic
        End With
    Else
        With Cells(I, 15).Resize(15, 10)
            .Borders(xlEdgeTop).ColorIndex = 1
            .Borders(xlEdgeTop).Weight = xlThin
            .Borders(xlEdgeBottom).ColorIndex = 1   'xlAutomatic
        End With
    End If
Next I

End Sub

ma non va... :-?

vorrei tirare una riga blu al variare dell'anno in col O,
da O6 , vi allego il file.

ciao
https://db.tt/GtZkdYLT
http://www.lelugarine.eu
S.O. Seven7, Excell 2010
Avatar utente
raimea
Utente Senior
 
Post: 1101
Iscritto il: 11/02/10 07:33
Località: lago

Re: raggruppare x mesi

Postdi Anthony47 » 05/01/14 01:12

La tua macro funzionera' se usi
Codice: Seleziona tutto
    If Format(Cells(I, 15), "yy") <> Format(Cells(I - 1, 15), "yy") Then
Il vba infatti parla solo inglese.
Non so decodificare il significato di quei .Resize(15, 10), li ho lasciati cosi'.

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: 13891
Iscritto il: 21/03/06 16:03
Località: Ivrea

Re: raggruppare x mesi

Postdi raimea » 05/01/14 07:50

ciao
tutto ok
almeno questa volta ci sono andato molto vicino.... :D

grazie
ciao
http://www.lelugarine.eu
S.O. Seven7, Excell 2010
Avatar utente
raimea
Utente Senior
 
Post: 1101
Iscritto il: 11/02/10 07:33
Località: lago


Torna a Applicazioni Office Windows


Topic correlati a "raggruppare x mesi":


Chi c’è in linea

Visitano il forum: Nessuno e 12 ospiti