You are here:Home-Domande su Excel VBA e MACRO-[RISOLTO] Formattazione condizionale di un intervallo di celle
[RISOLTO] Formattazione condizionale di un intervallo di celle2018-06-19T12:20:35+02:00

Home Forum Domande su Excel VBA e MACRO [RISOLTO] Formattazione condizionale di un intervallo di celle

Visualizzazione 8 filoni di risposte
  • Autore
    Post
    • Avatarpucc973
      Partecipante
        Post totali: 5

        Buongiorno a tutti, come da titolo avrei bisogno di un codice che mi inserisca i valori di formattazione condizionale impostati per un intervallo di celle in una msgbox.

        Ho un foglio nel quale vengono inseriti dei valori a seconda dei quali le celle vengono formattate. È mia necessità variare di volta in volta la formattazione condizionale (da adesso FC), per fare ciò avrei bisogno di conoscere, se possibile, il FC precedentemente immesso in quel determinato intervallo di celle, magari attraverso una Msgbox. Grazie in anticipo per l’aiuto. Colgo l’occasione per fare un saluto al forum, essendomi appena iscritto. Spero di imparare sempre meglio ad usare il vba di Excel, magari anche attraverso il vostro prezioso aiuto.

        • Questo topic è stato modificato 2 anni, 4 mesi fa da sidsid.
      • BySalvBySalv
        Amministratore del forum
          Post totali: 783

          Ciao Pucc, benvenuto, inserisci un file con la formattazione che hai ed il risultato che vuoi ottenere, cosi vediamo cosa intendi

          per inserire il file vai in “Come Fare”

          Ciao By Sal  :bye:

           

          Ciao By Sal (8-)
          se ti piace la soluzione aiuta a sostenere il Forum con una DONAZIONE a piacere, Grazie

        • Avatarpucc973
          Partecipante
            Post totali: 5

            Ciao By Sal, grazie della risposta… ti allego il file, spero di aver capito come fare.

            Il file che ti allego è un file d’esempio che ho fatto per l’occasione, quello originale non posso postarlo perchè è un file di lavoro. Nel file c’è un intervallo con dei numeri inseriti in celle formattate a seconda del valore dei numeri. Premendo il pulsante si apre una input box che chiede quale è l’intervallo da formattare e con quali valori. Io vorrei che subito dopo l’imput box che chiede di inserire l’intervallo mi si apra una msgbox con i valori di formattazione attuali presenti gia nella celle; si tratta ovviamente di valori che formattano le celle in itervalli, cioe ‘formatta di verde se minore di’ oppure di ‘rosso se maggiore di’. Spero di essere stato chiaro, in pratica una ‘Info’ sulla formattazione preesistente nelle celle dell’intervallo selezionato.

            Ecco il file:

            <br />

          • BySalvBySalv
            Amministratore del forum
              Post totali: 783

              Ciao Pucc, purtroppo almeno per me non ce modo di sapere com’è formattata la cella con la formattazione condizionale.

              sto facendo delle prove per vedere se riesco a risalire alle proprietà, ti faccio sapere.

              Ciao By Sal  :bye:

               

              Ciao By Sal (8-)
              se ti piace la soluzione aiuta a sostenere il Forum con una DONAZIONE a piacere, Grazie

            • Avatarpucc973
              Partecipante
                Post totali: 5

                Grazie Sal, avevo il sentore che il problema non fosse di semplice soluzione, comunque resto in attesa se a qualcuno dei partecipanti al Forum dovesse venire qualche idea. Ovviamente scriverò se riesco a risolvere.

                Grazie!  :bye:  

              • BySalvBySalv
                Amministratore del forum
                  Post totali: 783

                  Ciao Pucc, non sono riuscito a trovare niente nelle proprietà.

                  Ma mi spieghi perche vuoi sapere la formattazione condizionale, possono esserci altri metodi per avere ciò che vuoi, perche ti serve?, a cosa ti serve?, si può trovare una scappatoia.

                  Ciao By Sal  :bye:

                   

                   

                  Ciao By Sal (8-)
                  se ti piace la soluzione aiuta a sostenere il Forum con una DONAZIONE a piacere, Grazie

                • Avatarpucc973
                  Partecipante
                    Post totali: 5

                    Buonasera Sal, in effetti il file che ho postato è talmente semplificato che quasi non ha senso, mi rendo conto. Il file originale è un database di dati numerici che riassumono l’andamento su linee di produzione. È quasi completamente protetto, perché viene compilato da numerose persone tramite una Userform che non consente di fare errori. La necessità della formattazione condizionale nasce dal fatto che formattando i valori secondo necessità, i dati assumono di volta in volta significati diversi; la formattazione rende i dati più diretti e velocemente comprensibili. Quindi la formattazione condizionale viene modificata a seconda dei valori di produzione richiesti, con quella piccola macro che ho inserito nel file di prova che ho postato, ovviamente, se durante la modifica, automaticamente la macro mi informa della formattazione già preesistente nelle celle, la macro è ancora più diretta e semplificata, tutto qui .. Mi scuso se mi sono un po’ dilungato, ma il tuo interesse meritava qualche spiegazione in più. Comunque … Sono aperto a qualsiasi consiglio che tu o altri possono darmi.

                    Grazie ancora!

                     

                  • BySalvBySalv
                    Amministratore del forum
                      Post totali: 783

                      Ciao allora a questo punto puoi fare in questo modo, visto che usi bene le macro, quando lanci la macro un messaggio con la formattazione Condizionale attuale.

                      Come puoi ricavarla stesso dalla macro che vai a lanciare, ammettendo che hai modificato la formattazione in qualche parte del foglio vai a scrivere la formattazione modificata, eccoti un immagine del risultato
                      Cattura2

                      questo il codice che ho aggiunto alla tua macro fatto velocemente

                       Dim a As String
                      Dim b As String
                      Dim tmp As String, risp
                      
                      On Error GoTo Line1
                      
                      tmp = "Formattazione attuale" & Chr(13) & Chr(13)
                      tmp = tmp & "Arancio valore compreso tra " & Cells(2, 18) & " e " & Cells(2, 19) & Chr(13)
                      tmp = tmp & "Rosso valore Maggiore di " & Cells(3, 18) & Chr(13)
                      tmp = tmp & "Verde Valore Minore di " & Cells(4, 18) & Chr(13)
                      tmp = tmp & "Giallo Errore" & Chr(13) & Chr(13)
                      tmp = tmp & "CONTINUO?"
                      risp = MsgBox(tmp, vbInformation + vbYesNo, "Formattazione attuale")
                      If risp = 7 Then Exit Sub

                      logico che alla chiusura della tua macro vai a riportare i valori delle inputbox sul foglio nelle celle appropriate cosi quando si lancia una nuova formattazione riporta la formattazione che è stata applicata precedentemente.

                      allego anche il tuo file modificato.

                      Ciao By Sal :bye:

                      https://mega.nz/#!tRdkRaLZ!Nww2Y7969C1c0yhMFR7BfYYEEiaD1dsa6fQXyxeCmIs

                      Ciao By Sal (8-)
                      se ti piace la soluzione aiuta a sostenere il Forum con una DONAZIONE a piacere, Grazie

                    • Avatarpucc973
                      Partecipante
                        Post totali: 5

                        Grazie Sal, la soluzione è perfetta. Grazie ancora. Alla prossima!  :bye:

                    Visualizzazione 8 filoni di risposte
                    • Il topic ‘[RISOLTO] Formattazione condizionale di un intervallo di celle’ è chiuso a nuove risposte.