LoginRegistrati
Stai vedendo 9 articoli - dal 1 a 9 (di 9 totali)
  • Autore
    Articoli
  • #27165 Risposta

    clapat
    Partecipante

      Buongiorno, chiedo cortesemente un aiuto per risolvere un problema. Dovrei ricercare dei dati numerici all'interno di un range e evidenziarli tramite un colore, il tutto in VBA.  Mi spiego meglio, all'interno del range B2;I45 ho una serie di numeri dallo zero a 120 in ordine sparso. Necessito quindi di una casella di testo dove inserire il numero, o meglio ancora più numeri contemporaneamente da ricercare e una volta trovati, le celle si devono colorare di giallo. Mi serve quindi un pulsante di input per la ricerca e uno per resettare il colore delle celle per una successiva ricerca. Uso Excel 2010.

      Ringrazio fin da ora per il Vostro interessamento.

      Claudio

       

       

       

      #27166 Risposta
      alfrimpa
      alfrimpa
      Partecipante
        16 pts

        Perchè i numeri da cercare li vuoi mettere in una casella di testo?

        Se mettessi ogni numero in una cella sarebbe tutto più semplice.

        Si deve impostare un doppio ciclo For il primo sui numeri da cercare ed il secondo sul range dove devono essere trovati ossia B2:I45

        Alfredo

        #27167 Risposta

        GiuseppeMN
        Partecipante
          8 pts

          Buona sera, @clapat;
          consentimi un saluto a @alfrimpa.

          Si potrebbe pensare a due InputBox, uno per definire il numero di valori da ricercare il secondo per alimentare una Variabile Array nella quale inserire i valori da ricercare.

          Che conoscenza hai di programmazione in VBA.

          Giuseppe

          #27168 Risposta
          patel
          patel
          Moderatore
            39 pts

            A me piace più l'idea di alfrimpa, basta riservare una colonna ai numeri da cercare, comunque sarebbe utile un file di esempio con i tuoi dati e i tentativi di macro.

            #27169 Risposta
            Marius44
            Marius44
            Moderatore
              28 pts

              Buon giorno a tutti

              Sicuramente ho capito male, ma perchè in VBA?

              Diciamo che i numeri che vuoi cercare sono in un ben definito intervallo mentre in un altro intervallo (righe, colonne) vi è (chiamiamola tabella) dei numeri che vuoi confrontare.

              Non pensi possa essere sufficiente una Formattazione condizionale?

              Ciao,

              Mario

              #27170 Risposta
              PMC77
              PMC77
              Partecipante
                8 pts

                Concordo in pieno con @marius44 (che saluto)

                A volte le soluzioni più semplici sono le migliori!!

                Paolo

                 

                #27171 Risposta
                alfrimpa
                alfrimpa
                Partecipante
                  16 pts

                  Paolo il concetto di "semplicità" è molto relativo   

                  Io con la formattazione condizionale ci faccio a cazzotti mentre la macro che vedi sotto l'ho scritta in 30 secondi

                  Supponendo che i valori da cercare siano da A1 ad A3

                  Sub Evidenzia()
                  Dim rng As Range
                  Dim rng2 As Range
                  Dim cel As Range
                  Dim cel2 As Range
                  Set rng = Range("A1:A3")
                  Set rng2 = Range("B2:I45")
                  For Each cel In rng
                      For Each cel2 In rng2
                          If cel.Value = cel2.Value Then
                              cel2.Value.Interior.ColorIndex = 6
                          End If
                      Next cel2
                  Next cel
                  End Sub

                   

                  Alfredo

                  #27178 Risposta
                  Marius44
                  Marius44
                  Moderatore
                    28 pts

                    Salve a tutti

                    Se l'intervallo dei numeri da individuare è in $B$2:$G$2 e quello dove individuare è in $B$4:$G$20 con questa formula in FC =CONTA.SE($B$2:$G$2;B4)>=1 riportando in Si applica a il secondo intervallo, è tutto risolto.

                     

                    Ciao,

                    Mario

                     

                    Allegati:
                    You must be logged in to view attached files.
                    #27180 Risposta

                    GiuseppeMN
                    Partecipante
                      8 pts

                      Buona sera a Tutti.
                      Chiedo scusa ma vorrei proporre alcune precisazioni.

                      - Non vedo alcun riferimente da parte dell'Utente sulla possibilità dell'utilizzo di una "Colonna d'appoggio"
                      - Nel caso in cui i Valori da valutare siano solo tre è preferibile utilizzare "Formattazione condizionale"; vedi immagine in allegato.

                      Ovviamente avrei apprezzato le precisazioni da parte dell'Utente; pazienza.

                       

                      Giuseppe

                      Allegati:
                      You must be logged in to view attached files.
                    LoginRegistrati
                    Stai vedendo 9 articoli - dal 1 a 9 (di 9 totali)
                    Rispondi a: Ricerca celle
                    Gli allegati sono permessi solo ad utenti REGISTRATI
                    Le tue informazioni:



                    vecchio frac - 2750 risposte

                    albatros54
                    albatros54 - 1009 risposte

                    patel
                    patel - 956 risposte

                    Marius44
                    Marius44 - 824 risposte

                    Luca73
                    Luca73 - 696 risposte