Valutazione 4.87/ 5 (100.00%) 5838 voti

Condividi:        

contare celle con lo stesso importo

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

contare celle con lo stesso importo

Postdi raimea » 10/06/12 20:49

ciao
ho una macro che mi conta quante volte si ripete lo stesso importo nella colonna H del fgl 1 e lo scrive in fgl 2 col BZ.
la macro non mi da errore, funzionava correttamente fino a quando nelle celle di col H non c'erano formule
e gli importi li scrivevo manualmente.

ora nelle celle di col H fgl 1 ho inserito delle formule.
ebbene la macro mi conta anche le celle "vuote" cioe' con nessun importo calcolato cioe--> ""
e mi riporta questo valore in fgl2 col bz.

io vorrei che la macro mi conti e riporti, solo le celle contenenti un importo ....! :undecided:
questa la macro in questione (che si trova nel modulo 1):
Codice: Seleziona tutto
Sub analizzaimporti()

Sheets("2-statistiche").Select

UserForm2.Show vbModeless
DoEvents
Inizio = Timer

    ActiveSheet.Unprotect
   
   
    Dim Ws1 As Worksheet
    Dim Ws2 As Worksheet
    Dim H As Integer: Dim J As Integer: Dim R As Integer

Application.ScreenUpdating = False
Application.Calculation = xlManual

    Set Ws1 = Sheets("1-gol-Fogl.Base")
    Set Ws2 = Sheets("2-statistiche")
    UR = Ws1.Range("H" & Rows.Count).End(xlUp).Row
    UR2 = Ws2.Range("BY" & Rows.Count).End(xlUp).Row
    Ws2.Range("BY9:CB" & UR2).ClearContents
    For H = 9 To UR
            UR2 = Ws2.Range("BY" & Rows.Count).End(xlUp).Row + 1
            If UR2 < 9 Then UR2 = 9
            For J = 9 To UR2
                If Ws2.Cells(J, 77) = Ws1.Cells(H, 8) Then
                Ws2.Cells(J, 78).Value = Ws2.Cells(J, 78).Value + 1
                GoTo saltaH
                Else
                If Ws2.Cells(J, 77).Value = 0 Then
                    Ws2.Cells(J, 77) = Ws1.Cells(H, 8)
                    Ws2.Cells(J, 78).Value = 1
                End If
                End If
            Next J
saltaH:
    Next H

            UR2 = Ws2.Range("BY" & Rows.Count).End(xlUp).Row
            For J = 9 To UR2
            ContaV = 0
            ContaP = 0
            Q = Ws2.Range("BY" & J)
                For H = 8 To UR
                    If Q = Ws1.Cells(H, 8) Then
                        If UCase(Ws1.Cells(H, 13)) = "V" Then ContaV = ContaV + 1
                        If UCase(Ws1.Cells(H, 13)) = "P" Then ContaP = ContaP + 1
                    End If
                Next H
                Ws2.Range("CA" & J) = ContaV
                Ws2.Range("CB" & J) = ContaP
            Next J
           
           
             Sheets("2-statistiche").Select
    Range("BY9:CB100").Select
    Selection.Sort Key1:=Range("BY9"), 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("CC2").Select

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

End Sub


vi allego anche il file
https://rapidshare.com/files/1907575183/gol.rar
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

Sponsor
 

Re: contare celle con lo stesso importo

Postdi Flash30005 » 10/06/12 22:09

E' sufficiente modificare una riga di codice nella macro
Codice: Seleziona tutto
    UR = Ws1.Range("G" & Rows.Count).End(xlUp).Row  '<<<<<<<< leggere la colonna G che non ha formule


Cancella manualmente (una sola volta) la cella "BZ12" del foglio1 (contatore errato)

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: contare celle con lo stesso importo

Postdi raimea » 11/06/12 05:54

ok al 90% :P
va gia meglio,
solo che puo succedere ( spesso), che vengono scelte e scritte subito, delle partite in col G
il cui importo non viene subito riportato in col H perche' si deve attendere la fine della partita
precedente per stabilire l'mporto relativo in cella H
quindi la macro modificata in
Codice: Seleziona tutto
    UR = Ws1.Range("G" & Rows.Count).End(xlUp).Row  '<<<<<<<< leggere la colonna G che non ha formule

mi conta in fgl 2 anche queste partite che al momento non hanno un importo in cella H
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

Re: contare celle con lo stesso importo

Postdi Flash30005 » 11/06/12 06:09

E la colonna "J" ?

Ti vedo titubante e allora prova ad inserire questo controllo con la If dove indicato
Codice: Seleziona tutto
 For H = 9 To UR
            If IsNumeric(Ws1.Range("H" & H).Value) Then   '<<<<< inserire condizione qui
            UR2 = Ws2.Range("BY" & Rows.Count).End(xlUp).Row + 1
            If UR2 < 9 Then UR2 = 9
            For J = 9 To UR2
                If Ws2.Cells(J, 77) = Ws1.Cells(H, 8) Then
                Ws2.Cells(J, 78).Value = Ws2.Cells(J, 78).Value + 1
                GoTo saltaH
                Else
                If Ws2.Cells(J, 77).Value = 0 Then
                    Ws2.Cells(J, 77) = Ws1.Cells(H, 8)
                    Ws2.Cells(J, 78).Value = 1
                End If
                End If
            Next J
saltaH:
    End If   '<<<<< fine condizione
    Next H



EDIT ore 7:20 - inserita condizione nella macro
Aggiungo un'osservazione se oltre alla macro modificata fai il controllo nella colonna M (dove hai le lettere "V" e "P")
non avrai l'errore del conteggio nel Foglio 2-Statistiche di 19 valori (3 euro) mentre la somma V e P ti forniva 18 (12 + 6)
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: contare celle con lo stesso importo

Postdi raimea » 11/06/12 16:43

tutto ok,risolto
ora tutto torna .
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


Torna a Applicazioni Office Windows


Topic correlati a "contare celle con lo stesso importo":


Chi c’è in linea

Visitano il forum: fabrizio2001 e 10 ospiti