Sviluppare funzionalita su Microsoft Office con VBA Intercettare una stringa di caratteri in un range di celle

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

    Alberto

      Ciao a tutti.

      E' possibile che un argomento uguale o simile sia già stato trattato in un'altra discussione e, nel caso, mi scuso anticipatamente e continuo la ricerca nel forum,

      La mia esigenza è (credo) piuttosto semplice ma, confesso, ci sto girando intorno da un paio di giorni senza successo.

      In sintesi devo intercettare la presenza di una stringa di caratteri all'interno di un intervallo di celle. Ho messo in campo INSTR (in un loop), FIND e COUNTIFS (con le varie opzioni) e, per ragioni diverse, o l'una o l'altra non restituiscono il risultato desiderato. Probabilmente mi sono "incartato". Quindi:

      Testo da intercettare:

      "ABC"

      123

      "ABC_123"

       "aBc_123"

       "abc"  

      Range:

      Cella #1: "ABC_123"

      Cella #2: 123

      Cella #3: "zzzzzzzzzabczzzz"

      Cella #4: "abc_123"

      Il mio obiettivo è ovviamente coprire tutti i casi ma con un solo comando. In pratica:

          Testo Ricerca: "ABC"

                     RISULTATO: Cella #1, Cella #3, Cella #4

          Testo Ricerca: 123

                     RISULTATO: Cella #1 e Cella #2

          Testo Ricerca: "ABC_123"

                     RISULTATO: Cella #1 e Cella #4

          Testo Ricerca: "aBc_123"

                     RISULTATO: Cella #1 e Cella #4

          Testo Ricerca: "abc"

                     RISULTATO: Cella #1, Cella #3, Cella#4

      Spero di aver chiaramente espresso il mio problema; per esperienza pregressa sono certo che qui avrò indicazioni importanti/risolutive.

      Grazie mille.

      Alberto.

      #29515 Risposta
      PMC77
      PMC77
      Partecipante
        9 pts

        Ciao @alberto!

        Premesso che è sempre meglio allegare un file di Excel con i dati (non sensibili e l'abbozzo della macro che intendi fare), la soluzione con VBA è abbastanza semplice….

        Devi creare un ciclo di scansione del range di celle (siano su una riga o su una colonna), cercando le stringhe che ti interessano e parcheggiando i risultati per esempio in un array che chiamerai con il nome della stringa che stai cercando ed alla fine farai dare in output i risultati

        Ciao

        Paolo

        #29516 Risposta

        Alberto

          Grazie Paolo.

          Hai ragione, per maggior chiarezza ed agevolare l'indicazione di suggerimenti avrei dovuto allegare un file d'esempio. Chiedo scusa.

          E proprio nel prepararlo mi sono accorto che con la FIND  (e i parametri LookAt:=xlPart, MatchCase:=False) in un loop riesco a coprire tutti i casi di interesse.... almeno per il momento!  

          E' una soluzione semplice che avevo implementato ma che, probabilmente, mi è sfuggita o non ho analizzato con la giusta attenzione nei giorni scorsi.

          CASO RISOLTO.

          Grazie ancora.

          Alberto.

        LoginRegistrati
        Stai vedendo 3 articoli - dal 1 a 3 (di 3 totali)
        Rispondi a: Intercettare una stringa di caratteri in un range di celle
        Gli allegati sono permessi solo ad utenti REGISTRATI
        Le tue informazioni:



        vecchio frac - 2750 risposte

        albatros54
        albatros54 - 1038 risposte

        patel
        patel - 1032 risposte

        Marius44
        Marius44 - 922 risposte

        Luca73
        Luca73 - 750 risposte