Sviluppare funzionalita su Microsoft Office con VBA Eliminare Errore #VALORE! in MATRICE PRODOTTO a causa di stringhe

Login Registrati
Stai vedendo 6 articoli - dal 26 a 31 (di 31 totali)
  • Autore
    Articoli
  • #21499 Score: 0 | Risposta

    Ivan Bolzoni

      SUBTOTALE con SCARTO funziona bene, è il.resto che non riesco ad ottenerlo come vettore

      #21501 Score: 0 | Risposta

      Luca73
      Partecipante
        56 pts

        Perchè usi scarto?

        Il Problema è il filtro in combinazione con  la condizione.

         

        #21509 Score: 0 | Risposta

        Ivan Bolzoni

          Buonanotte a tutti,

          Ho scoperto una cosa interessante: usando la formula 

          SE.ERRORE((B2:B10)*24,"0") >6  

          e inserendo la formula come ARRAY, Cioè Ctrl +Shift + Enter mi restituisce un vettore che conta sia gli orari maggiori di 6 che le celle sostituite con "0". Infatti essendo un testo sono maggiori di ogni numero,  quindi li conta sempre.  Perciò siamo a cavallo.

          Ora il problema è che voglio inserire la formula nella cella con VBA e usando FormulaArray non posso inserire formule più lunghe di 255 caratteri. Devo trovare un modo per aggirarlo perché inserirò molte formule associate a turno del mattino,  pomeriggio,  notte, malattie ecc.. nella stessa cella

          #21525 Score: 0 | Risposta

          Mister_x

            ciao

            sono rimasto incuriosito dalla tua scoperta,  e adesso mi puoi spiegare cosa serve la formula

            SE.ERRORE((B2:B10)*24;"0") >6         che ritorna Vero o Falso   , nel tuo caso Falso in quanto fa una sola verifica sulla cella B2 orario ( 6:00 )e non sulle altre celle ?????? 

            altra cosa , ho visto che ai dichiarato un programmino una funzione in VBA

            in VBA   un programmino  puo' essere una Sub()   mentre una Function e' una funzione 

            ai detto anche che non volevi utilizzare VBA ma adesso cerchi un modo di creare un qualcosa in VBA prova studiarti la funzione Evaluate() in VBA  o Valuta.Testo() in excel se fanno al caso tuo, usa google per trovare le sintassi di queste

            certo che se tu crei una sub()  o Macro  per il tuo caso  risolvi tutti i tuoi problemi senza usare funzioni o formule in celle di excel

            detto questo aspettando gli sviluppi al tuo problema , 

            ciao

             

            #21537 Score: 0 | Risposta

            ivanbolzoni
            Partecipante

              Buonasera,

              ho risolto il problema, bastava inserire le formule come ARRAy usando Ctrl+Shift+Enter e imporre che in caso di errore si sostituisca un carattere qualsiasi: i caratteri sono maggiori di tutti i numeri...il resto è banale da sistemare.

              Ora ho un nuovo problema che vi sottopongo in un'altra discussione .

              Grazie a tutti per gli sforzi e la pazienza 🙂

              #21546 Score: 0 | Risposta

              Ivan Bolzoni

                Buongiorno,
                Tra università e casa ho poco tempo per programmare e chiarire tutti i dubbi , ma ci provo.

                0) se inserisci la formula in modalità ARRAY restituisce un valore per ogni cella e non solo il carattere 0 in caso di errore. Quindi problema risolto

                1)Mi serve una formula che mi conti i turni di mattina, pomeriggio, notte. Il SE.ERRORE con quella condizione va accoppiata con un altro SE.ERRORE con la condizione <=12 per ottenere solo i turni del Mattino. Poi la riadatto per ottenere i turni del Pomeriggio ecc.. ovviamente la formula va usata dentro la funzione MATR.SOMMA.PRODOTTO con SUBTOTALE e SCARTO in modo da poter lavorare solo sulle celle filtrate.

                2) Mi serve una formula che si aggiorni automaticamente, se uso una Macro o la chiamo ogni volta ( con un tasto) o uso un evento ad esempio CalculateSheet: quest'ultima possibilità l'ho già provata ma è molto lenta .

                Perciò ho pensato di creare una Macro che chiamo una sola volta per tutte e di incollare il Formulone direttamente nella cella ma in modalità ARRAY , quindi con la limitazione di formule di lunghezza minore a 255 caratteri se la inserisco tramite VBA.

                Oppure Potrei creare una funzione che mi incolli la stringa della formula in quella cella. Resta il problema di incollarla come ARRAY a causa dei 255 caratteri.

                Nella cella uscirebbe una cosa del genere"
                MATTINA = 13 | POMERIGGIO = 18 | NOTTE = 10 ecc..

                Al posto dei numeri ci sarebbero i Formuloni con MATR.SOMMA PRODOTTO e potete immaginare che supero abbondantemente i 255 caratteri.

                Se avete una soluzione più facile e diretta sono tutto orecchie/occhi.

                 

                 

              Login Registrati
              Stai vedendo 6 articoli - dal 26 a 31 (di 31 totali)
              Rispondi a: Eliminare Errore #VALORE! in MATRICE PRODOTTO a causa di stringhe
              Gli allegati sono permessi solo ad utenti REGISTRATI
              Le tue informazioni: