Valutazione 4.87/ 5 (100.00%) 5838 voti

Condividi:        

analizzare le quote di un sistema

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

Re: analizzare le quote di un sistema

Postdi miko » 01/07/11 11:35

ciao,
lieto di esserti stato utile ;)
saluti
windows xp-office 2003
miko
Utente Senior
 
Post: 422
Iscritto il: 29/12/09 10:44

Sponsor
 

riportare i risultati da verticale in orizzontale

Postdi raimea » 06/07/11 06:22

ciao a tutti.
vorrei riuscire a riportare le mie "sequenze", in un foglio (sequenze)
scrivendole in orizzontale.
mi spiego meglio...
dal fgl 1 Col da p9 ci sono i segni 1x2 che sono usciti.
una sequenza termina quando in Col W c'e una "f"

ora nel fogl sequenze vorrei riuscire a scrivere da dx verso sx tali sequenze,
una sequenza inizia dopo un "f" in col w, e termina alla successiva "f"

al momento questo foglio lo sto compilando manualmente,
solo che se x errore cancello qualcosa, mi diventa complicato rigenerare il tutto.... :undecided:

vi ringrazio
provo ad allegare il file.

http://www.sendspace.com/file/7r2szy
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: analizzare le quote di un sistema

Postdi Anthony47 » 06/07/11 20:49

tasto dx sul tab del foglio Sequenze, visualizza codice, metti questa macro nel frame di dx:
Codice: Seleziona tutto
Private Sub Worksheet_Activate()
Dest = "E8"
Range(Dest).Offset(1, 0).Resize(100, 200).ClearContents
For I = 9 To 5000
    If Foglio1.Cells(I, "W").Value = "f" Then
        Foglio28.Range(Dest).Offset(CI + 1, CEffe - 0) = Foglio1.Cells(I, "P")
        CEffe = CEffe + 1: CI = 0
    Else
        If Foglio1.Cells(I, "P") <> "" Then
        Foglio28.Range(Dest).Offset(CI + 1, CEffe - 0) = Foglio1.Cells(I, "P")
        CI = CI + 1
        End If
    End If
Next I
End Sub

In questo modo tutte le volte che attivi il foglio Sequenze la tabella sara' prima azzerata e poi ricompilata; se questa logica non e' idonea allora metti il codice della macro (escluso titolo ed End sub) in un' altra macro che eseguirai quando vuoi aggiornare la tabella.

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

Re: analizzare le quote di un sistema

Postdi raimea » 06/07/11 21:00

8) OTTIMO
proprio come mi serve,
ora cerco di capire come fa
a funzionare senza mai menzionare il nome dei 2 fogli interessati.
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: analizzare le quote di un sistema

Postdi Anthony47 » 06/07/11 21:05

Ho usato il "codename" dei due fogli, mi stava antipatico scrivere Sheets("1-masa1-Fogl.Base").Etc etc

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

analizzare le quote di un sistema

Postdi raimea » 16/08/11 17:01

ciao a tutti
vorrei poter riuiscire ad inserire un ulteriore
conteggio statistico , nel mio file.
in fgl 2-statistiche col dP e dQ da riga 9:
vorrei poter contare in fogl 1-base, col M da riga 9,
contare le V e P consecutive pari a 1,2,3,4,5 ecc...
cioe', quante volte ci sono 2 V consecutive ?
quante 3 P consecutive ? ecc.
il num da prendere come riferimento e' in fgl 2 col DO.
io ho provato con una formula a matrice ma quando ho
esempio, 4 volte V me le conta sia in 1, sia in 2 che in 3...

provo ad allegare il file.

http://www.sendspace.com/file/xy7bbm
oppure qui
http://www.megaupload.com/?d=6RWPR6UZ

grazie anticipato....
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: analizzare le quote di un sistema

Postdi Flash30005 » 17/08/11 00:57

Sostituisci la macro "Analizquote" contenuta nel modulo 16
con questa macro
Codice: Seleziona tutto
Sub analizquote()

Sheets("2-Statistiche").Select

UserForm2.Show vbModeless
DoEvents
Inizio = Timer

    ActiveSheet.Unprotect
   
   
    Dim Ws1 As Worksheet
    Dim Ws2 As Worksheet
    Dim I As Integer: Dim J As Integer: Dim R As Integer
    Dim ContaVM(12) As Integer
    Dim ContaPM(12) As Integer
Application.ScreenUpdating = False
Application.Calculation = xlManual

    Set Ws1 = Sheets("1-masa1-Fogl.Base")
    Set Ws2 = Sheets("2-statistiche")
    UR = Ws1.Range("I" & Rows.Count).End(xlUp).Row
    UR2 = Ws2.Range("BA" & Rows.Count).End(xlUp).Row
    Ws2.Range("BA9:BD" & UR2).ClearContents
    For I = 9 To UR
    If UCase(Ws1.Range("M" & I).Value) = "V" Then ContaVM(Month(Ws1.Range("C" & I).Value)) = ContaVM(Month(Ws1.Range("C" & I).Value)) + 1
    If UCase(Ws1.Range("M" & I).Value) = "P" Then ContaPM(Month(Ws1.Range("C" & I).Value)) = ContaPM(Month(Ws1.Range("C" & I).Value)) + 1
            UR2 = Ws2.Range("BA" & Rows.Count).End(xlUp).Row + 1
            If UR2 < 9 Then UR2 = 9
            For J = 9 To UR2
                If Ws2.Cells(J, 53) = Ws1.Cells(I, 9) Then
                Ws2.Cells(J, 54).Value = Ws2.Cells(J, 54).Value + 1
                GoTo saltaI
                Else
                If Ws2.Cells(J, 53).Value = 0 Then
                    Ws2.Cells(J, 53) = Ws1.Cells(I, 9)
                    Ws2.Cells(J, 54).Value = 1
                End If
                End If
            Next J
saltaI:
    Next I
    For CM = 1 To 12
    Ws2.Range("DP" & CM + 8).Value = ContaVM(CM)
    Ws2.Range("DQ" & CM + 8).Value = ContaPM(CM)
    Next CM

            UR2 = Ws2.Range("BA" & Rows.Count).End(xlUp).Row
            For J = 9 To UR2
            ContaV = 0
            ContaP = 0
            Q = Ws2.Range("BA" & J)
                For I = 9 To UR
                    If Q = Ws1.Cells(I, 9) Then
                        If UCase(Ws1.Cells(I, 13)) = "V" Then ContaV = ContaV + 1
                        If UCase(Ws1.Cells(I, 13)) = "P" Then ContaP = ContaP + 1
                    End If
                Next I
                Ws2.Range("BC" & J) = ContaV
                Ws2.Range("BD" & J) = ContaP
            Next J
           
           
             Sheets("2-statistiche").Select
    Range("BA9:BD100").Select
    Selection.Sort Key1:=Range("BA9"), Order1:=xlAscending, Header:=xlNo, _
        OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom, _
        DataOption1:=xlSortNormal
Application.ScreenUpdating = True
Application.Calculation = xlCalculationAutomatic

ActiveWindow.ScrollRow = 1  ' alza la barra later dx

ActiveWindow.DisplayGridlines = False
    ActiveSheet.Protect DrawingObjects:=True, Contents:=True, Scenarios:=True _
        , AllowFormattingColumns:=True, AllowFormattingRows:=True
    Range("BF2").Select

Unload UserForm2
      Fine = Timer
MsgBox ("Tempo impiegato " & Int((Fine - Inizio) / 60) & " min " & (Fine - Inizio) Mod 60 & " Sec")

End Sub

e dovresti aver risolto,
altrimenti... posta ancora

Ti prego, continui a inviare dei file compressi aventi sempre lo stesso nome "Copia di masa1.zip"
quando, invece siamo arrivati alla versione 9
(cerco di avere uno storico dei vari aggiornamenti, cosa che ritengo sia opportuno che ogni utilizzatore di PC faccia; valido per ogni tipo di file: documenti; immagini e altro) ;)
sappi che i numeri, utilizzabili per questo scopo, non finiscono
pertanto, la prossima volta nomina il tuo file
"Copia di masa10.zip", ok?
Grazie! :)

Ciao

EDIT: Ricordavo di aver fatto qualcosa del genere contare le "V" e le "P" e infatti non riuscivo a capire a fondo la richiesta
ho aggiunto questo calcolo per mese e con la macro appena postata otterrai gli stessi risultati che hai nelle colonne DI e DJ (forse anche più velocemente) ;)
ma la tua richiesta in un certo senso non è ben comprensibile perché vorresti avere la quantita di ripetizioni di 2 V o 2 P oppure 3 V o 3 P ma... Come inserire l'output di ciò che richiedi in una sola cella?
spiego:
se vuoi avere l'analisi di quante ripetizioni di 2,3,4,5 e 6 V devi avere almeno 5 celle che riportino questo dato distribuito per ogni mese, mentre la tua tabella prevede, per il singolo mese, una sola cella
quindi spiega meglio
ariCiao
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-

analizzare le quote di un sistema

Postdi raimea » 17/08/11 05:03

ok per il nome dei prossimi file zip. ;)

poi mi sa che non mi sono ben spiegato e non era ben comprensibile la richiesta.
in questo nuovo calcolo non voglio separere per mese,
voglio solo sapere quante volte ci sono state 3 V consecutive,?
quante 2 P consectv ? ecc..
e il dato ottenuto verra scritto, ovviamente in piu celle (da Dp9 a Dp18 per le V, e DQ9 a DQ18 per le P)
Es. in DP9 x il num di volte che c'e stato 1sola V
in DQ12 quante volte ci sono state 4P consecutv ?
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: analizzare le quote di un sistema

Postdi Flash30005 » 17/08/11 14:20

Prova questa macro:
Codice: Seleziona tutto
Sub ContaContinuità()
    ActiveSheet.Unprotect
    Dim Ws1 As Worksheet
    Dim Ws2 As Worksheet
    Dim I, Ris As Integer
    Dim ContaVM(12) As Integer
    Dim ContaPM(12) As Integer
Application.ScreenUpdating = False
Application.Calculation = xlManual

    Set Ws1 = Sheets("1-masa1-Fogl.Base")
    Set Ws2 = Sheets("2-statistiche")
    UR = Ws1.Range("I" & Rows.Count).End(xlUp).Row
        For I = 9 To UR
            If UCase(Ws1.Cells(I, 13)) = "V" Then
            ContaV = ContaV + 1
            Else
            ContaVM(ContaV) = ContaVM(ContaV) + 1
            ContaV = 0
            End If
            If UCase(Ws1.Cells(I, 13)) = "P" Then
            ContaP = ContaP + 1
            Else
            ContaPM(ContaP) = ContaPM(ContaP) + 1
            ContaP = 0
            End If
        Next I
    For Ris = 1 To 12
    Ws2.Range("DP" & Ris + 8).Value = ContaVM(Ris)
    Ws2.Range("DQ" & Ris + 8).Value = ContaPM(Ris)
    Next Ris
Application.ScreenUpdating = True
Application.Calculation = xlCalculationAutomatic

End Sub


Evidenzia eventuali incongruenze

ciao

P.s.
Aggiungo questa modifica alla macro "Analizquote"
(la macro sostituisce le formule in tabella DI9:DJ20)

Codice: Seleziona tutto
Sub analizquote()

Sheets("2-Statistiche").Select

UserForm2.Show vbModeless
DoEvents
Inizio = Timer

    ActiveSheet.Unprotect
   
   
    Dim Ws1 As Worksheet
    Dim Ws2 As Worksheet
    Dim I As Integer: Dim J As Integer: Dim R As Integer
    Dim ContaVM(12) As Integer
    Dim ContaPM(12) As Integer
Application.ScreenUpdating = False
Application.Calculation = xlManual

    Set Ws1 = Sheets("1-masa1-Fogl.Base")
    Set Ws2 = Sheets("2-statistiche")
    UR = Ws1.Range("I" & Rows.Count).End(xlUp).Row
    UR2 = Ws2.Range("BA" & Rows.Count).End(xlUp).Row
    Ws2.Range("BA9:BD" & UR2).ClearContents
    For I = 9 To UR
    If UCase(Ws1.Range("M" & I).Value) = "V" Then ContaVM(Month(Ws1.Range("C" & I).Value)) = ContaVM(Month(Ws1.Range("C" & I).Value)) + 1
    If UCase(Ws1.Range("M" & I).Value) = "P" Then ContaPM(Month(Ws1.Range("C" & I).Value)) = ContaPM(Month(Ws1.Range("C" & I).Value)) + 1
            UR2 = Ws2.Range("BA" & Rows.Count).End(xlUp).Row + 1
            If UR2 < 9 Then UR2 = 9
            For J = 9 To UR2
                If Ws2.Cells(J, 53) = Ws1.Cells(I, 9) Then
                Ws2.Cells(J, 54).Value = Ws2.Cells(J, 54).Value + 1
                GoTo saltaI
                Else
                If Ws2.Cells(J, 53).Value = 0 Then
                    Ws2.Cells(J, 53) = Ws1.Cells(I, 9)
                    Ws2.Cells(J, 54).Value = 1
                End If
                End If
            Next J
saltaI:
    Next I
    For CM = 1 To 12
    Ws2.Range("DI" & CM + 8).Value = ContaVM(CM)
    Ws2.Range("DJ" & CM + 8).Value = ContaPM(CM)
    Next CM

            UR2 = Ws2.Range("BA" & Rows.Count).End(xlUp).Row
            For J = 9 To UR2
            ContaV = 0
            ContaP = 0
            Q = Ws2.Range("BA" & J)
                For I = 9 To UR
                    If Q = Ws1.Cells(I, 9) Then
                        If UCase(Ws1.Cells(I, 13)) = "V" Then ContaV = ContaV + 1
                        If UCase(Ws1.Cells(I, 13)) = "P" Then ContaP = ContaP + 1
                    End If
                Next I
                Ws2.Range("BC" & J) = ContaV
                Ws2.Range("BD" & J) = ContaP
            Next J
           
           
             Ws2.Select
    Range("BA9:BD100").Select
    Selection.Sort Key1:=Range("BA9"), Order1:=xlAscending, Header:=xlNo, _
        OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom, _
        DataOption1:=xlSortNormal
Application.ScreenUpdating = True
Application.Calculation = xlCalculationAutomatic

ActiveWindow.ScrollRow = 1  ' alza la barra later dx

ActiveWindow.DisplayGridlines = False
    ActiveSheet.Protect DrawingObjects:=True, Contents:=True, Scenarios:=True _
        , AllowFormattingColumns:=True, AllowFormattingRows:=True
    Range("BF2").Select

Unload UserForm2
      Fine = Timer
MsgBox ("Tempo impiegato " & Int((Fine - Inizio) / 60) & " min " & (Fine - Inizio) Mod 60 & " Sec")

End Sub


E in fine leggi il P.S del post del 16/08/2011 ore 2.12 di
questo link

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-

analizzare le quote di un sistema

Postdi raimea » 17/08/11 22:47

ottimo :D
10 e lode
funziona tutto come volevo,
la lode --> per aver ampliato anche la macro analizza quote.
metto a disposizione il file vers 8.1

http://www.megaupload.com/?d=8KJ85ZNM
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: analizzare le quote di un sistema

Postdi Flash30005 » 20/08/11 15:09

Grazie a nome di tutti gli interessati
;)
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-

Precedente

Torna a Applicazioni Office Windows


Topic correlati a "analizzare le quote di un sistema":


Chi c’è in linea

Visitano il forum: Nessuno e 10 ospiti

cron