Visualizzazione dei risultati da 1 a 6 su 6
  1. #1
    Utente di HTML.it L'avatar di freetom
    Registrato dal
    Nov 2001
    Messaggi
    3,725

    quante celle ho colorate di rosso?

    Ho 5 colonne x enne righe
    accanto a queste 5 colonne avrei una sesta colonna che dovrebbe contenere valori da 1 a 5 a seconda di quante celle colorate (es. "rosse") si trovino accanto...

    es..

    colonnaA---colonnaB---colonnaC---colonnaD---colonnaE---sestacolonna
    --rossa-----rossa-------_______--_______--_________------ 2 -------


    Grazie a tutti/e gli/le esperti/e di celle di excel


  2. #2
    Utente di HTML.it L'avatar di nicola75ss
    Registrato dal
    Nov 2004
    Messaggi
    12,923
    Dall'editor vba di excel inserisci in un modulo questo codice

    codice:
    Function colore(ByVal rng As Range)
    rosse = 0
    For Each cella In rng.Cells
        If cella.Interior.ColorIndex = 3 Then
        rosse = rosse + 1
        End If
    Next cella
    colore = rosse
    End Function
    attenendomi al tuo esempio nella colonna F, come se fosse una funzione nativa di excel, scrivi

    =colore(a1:e1)

    avrai il numero di celle con sfondo rosso in quel range.
    Poi basta che trascini la formula per le righe sottostanti.

  3. #3
    Utente di HTML.it L'avatar di nicola75ss
    Registrato dal
    Nov 2004
    Messaggi
    12,923
    Piccola precisazione. Il codice che ti ho scritto calcola il numero di celle rosse per ogni riga ma, nel caso venga modifcato lo sfondo delle celle, il totale non viene ricalcolato automaticamente.
    L'unico escamotage che mi è venuto in mente è quello di creare una funzioncina che modifichi il contenuto di una cella qualunque.

    Il tuo codice quindi diventerebbe

    codice:
    Function colore(ByVal rng As Range)
    Application.Volatile
    rosse = 0
    For Each cella In rng.Cells
        If cella.Interior.ColorIndex = 3 Then
        rosse = rosse + 1
        End If
    Next cella
    colore = rosse
    End Function
    con l'aggiunta della riga application.volatile

    e poi dovresti aggiungere una banalissima macro che modifichi il contenuto di una cella che non ti serve

    codice:
    Sub ricalcola()
    ActiveSheet.Cells(65000, 1).Value = 1
    ActiveSheet.Cells(65000, 1).Value = ""
    End Sub
    Questa macro semplicemente scrive il valore 1 nella cella A65000 e poi lo cancella.
    Associala ad un pulsante e cliccalo dopo aver modificato il colore di sfondo di qualche cella affinchè il totale venga aggiornato.

    Fammi sapere.

  4. #4
    Utente di HTML.it L'avatar di freetom
    Registrato dal
    Nov 2001
    Messaggi
    3,725
    Originariamente inviato da nicola75ss
    Dall'editor vba di excel inserisci in un modulo questo codice

    codice:
    Function colore(ByVal rng As Range)
    rosse = 0
    For Each cella In rng.Cells
        If cella.Interior.ColorIndex = 3 Then
        rosse = rosse + 1
        End If
    Next cella
    colore = rosse
    End Function
    attenendomi al tuo esempio nella colonna F, come se fosse una funzione nativa di excel, scrivi

    =colore(a1:e1)

    avrai il numero di celle con sfondo rosso in quel range.
    Poi basta che trascini la formula per le righe sottostanti.


    Con "Dall'editor vba di excel inserisci in un modulo questo codice" cosa intendi esattamente ?

    Grazie e scusa per la mia ignoranza in questo campo...

  5. #5
    Utente di HTML.it L'avatar di patel
    Registrato dal
    Jan 2008
    Messaggi
    1,995
    Come hai fatto ad utilizzare le macro precedenti ?

  6. #6
    Utente di HTML.it L'avatar di nicola75ss
    Registrato dal
    Nov 2004
    Messaggi
    12,923
    Originariamente inviato da freetom
    Con "Dall'editor vba di excel inserisci in un modulo questo codice" cosa intendi esattamente ?

    Grazie e scusa per la mia ignoranza in questo campo...
    Menù Strumenti => Macro => Visual basic editor.

    Una volta aperto l'editor dal menù Inserisci scegli modulo e incolli il codice (il secondo, quello con l'aggiunta di application.volatile).

    La macro ricalcola la inserisci come hai fatto per tutte le altre, la associ ad un pulsante sul tuo foglio e quando aggiungi o rimuovi lo sfondo rosso alle celle lo premi affinchè il totale venga aggiornato

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.