Sviluppare funzionalita su Microsoft Office con VBA Ordinare intervallo orizzontalmente

Login Registrati
Stai vedendo 8 articoli - dal 1 a 8 (di 8 totali)
  • Autore
    Articoli
  • #26823 Score: 0 | Risposta

    Genci
    Partecipante

      Salve, ben trovati!

      Ho un intervallo di 2 righe e di n colonne(variabile). Nella prima riga, ci sono date esami. Nella seconda riga, sotto ogni data, c'è il valore dell'esame di quella data. Le intestazioni sono nella colonna "A", "tempo esame", e sotto "valore esame". 

      Vorrei una macro di ordinare per data, a>z, perché si potranno immettere esami precedenti, e nel grafico devono essere in ordine di esecuzione. Ho provato a registrare una macro di base, ma non funziona, mi da errore 1004, seppur le date sono differenti e non ci sono celle vuote. Spero di essere stato chiaro, e che ci sia una routine funzionale per il mio caso. Grazie! 

      #26824 Score: 0 | Risposta

      patel
      Moderatore
        52 pts

        allega un file di esempio con anche la macro

        #26830 Score: 0 | Risposta

        PMC77
        Partecipante
          18 pts

          Ciao @genci!

          Concordo con @patel che saluto, senza un file (senza dati sensibili) e la tua macro diventa davvero difficile aiutarti, a meno di non partire da zero, ma non credo che abbia senso!

          Restiamo in attesa di tue nuove!

          Ciaoooo

          #26834 Score: 0 | Risposta

          Genci
          Partecipante

            Ciao!

            Ho allegato il file. Nella cella b1, le palline sono delle macro per inserire intervalli con dati, per usare esempi di input. le palline ovali sono della stessa persona, per vedere l'inserimento multiplo di esami di una persona. nelle colonne a destra ci sono funzioni di ricerca stringe. più a destra la tabella riassuntiva con i dati ricavati, usati dalla vba. più a destra, ancora, il caricamento dati via vba. più a destra i grafici. al lavoro finito, i grafici verranno messi in primo piano, tutto il resto andrà nascosto. questo perché non c'è l'adobe acrobat. tutto è un po' spartano, perché fra tentativi, fallimenti, stenti e moccoli, sento di essere vicino ad un punto d'arrivo. quando c'è solo un dato(con una data), il problema non sussiste, ma quando ci sono più di uno per la stessa persona ci vuole "ordina" az per data, per rendere la reale tendenza. da 1 a 100 comprendo 20-35. a volte mi dimentico(sono insicuro), persino le nozioni elementari. Perciò molte cose saranno farraginose e ridicole, ma tanto lo faccio per passione, per essere d'aiuto. grazie a chi mi vorrà aiutare!

            Allegati:
            You must be logged in to view attached files.
            #26836 Score: 0 | Risposta

            patel
            Moderatore
              52 pts

              Nel file che hai allegato non trovo quello che hai indicato nel primo post, devi allegare un file di esempio con solo i dati che interessano e con solo la macro relativa, altrimenti si fa confusione

              #26837 Score: 1 | Risposta

              GiuseppeMN
              Partecipante
                19 pts

                Buona giornata a Tutti.

                Buona giornata @genci, forse non serve un Codice VBA;
                il File che hai allegato ha diverse criticità:
                - Riferimento circolare Cella D23
                - Riferimento circolare Cella D25
                - Riferimento circolare Cella D27
                - Riferimenti Colonna "H"; Range H7:H33 da spostare in H8
                - Riferimenti Colonna "H"; Range K7:M86 da spostare in K8
                - Riferimenti Colonna "H"; Range O7:R111 da spostare in O8
                - Cella "P7" il Formato deve essere "Data"; attualmente è "Generale"
                - Cella "Q7" il Formato deve essere "Data"; attualmente è "Generale"
                - Cella "R7" il Formato deve essere "Data"; attualmente è "Generale"
                Analogamente su molte altre Colonne.
                Sistemate queste criticità potresti:

                @genci, precisa:
                Nella prima riga, ci sono date esami. Nella seconda riga, sotto ogni data, c'è il valore dell'esame di quella data.

                Questo sarebbe corretto; in realtà in Riga 1 c'è una sequenza 1÷29 mentre in Riga 2 non c'è alcun Valore fino a Colonna "AY"
                Sistemata anche questa criticità, diciamo "date esami" in Riga 2, selezioni il Range  C2÷AE111, non mi sono chiari i Valori inseriti nel Range AF4:AG19, e ordini:
                - Opzioni
                - Ordina da sinistra a destra
                - Riga 2

                Vedi immagine in allegato.

                 

                A disposizione.

                Buon fine settimana.

                Giuseppe

                Allegati:
                You must be logged in to view attached files.
                #26869 Score: 0 | Risposta

                Genci
                Partecipante

                  Buongiorno GiuseppeMN!

                  Grazie, veramente molto gentile! 

                  Con stima,

                  Genci. 

                  #26871 Score: 0 | Risposta

                  GiuseppeMN
                  Partecipante
                    19 pts

                    Buona giornata, @genci;
                    grazie del riscontro, non è sempre così scontato.

                    Consentimi un suggerimento, peraltro non richiesto, considera di eliminare tutti i "collegamenti circolari", ne trovi in entrambi i Fogli di lavoro; Excel li segnala puntualmente.
                    Per questi calcoli potresti riconsiderare le Formule oppure affidare i calcoli a VBA; se lo ritieni utile e opportuno, assieme, potremmo trovare una possibile alternativa.

                     

                    A disposizione.

                    Buon Lavoro.

                    Giuseppe

                  Login Registrati
                  Stai vedendo 8 articoli - dal 1 a 8 (di 8 totali)
                  Rispondi a: Ordinare intervallo orizzontalmente
                  Gli allegati sono permessi solo ad utenti REGISTRATI
                  Le tue informazioni: