Incolonnare dati



  • Incolonnare dati
    di Laupany221 (utente non iscritto) data: 27/04/2015 11:16:29

    Buongiorno a tutti, avrei bisogno di una MACRO o di una formula che mi permetta di svolgere la seguente operazione...

    Se guardate la colonna "TRIAL_INDEX" scorrendo il file in verticale ci sono dei numeri: 1, 2, 3, ect a me serve che vengano visualizzati i valori come nel foglio esempio, in questo caso ho fatto copia incolla ma essendo moltissimi valori avrei bisogno di una modalità automatica per farlo!

    Grazie


  • Incolonnare dati
    di Marius44 data: 27/04/2015 13:06:14

    Ciao
    Ho manipolato un po' il tuo file e credo di aver ottenuto ciò che chiedevi.
    Aggiungi un pulsante (modulo) al tuo file e assegnagli la macro sottoindicata (tieni presente che COPIA i dati nel Foglio2. Fammi sapere se va bene.

     
    Sub Trasferisce()
    Dim riga, i, a, b, c As Integer
        riga = Sheets(1).Range("A65500").End(xlUp).Row      'ultima riga piena
        ele = "A1:G" & riga: Range(ele).Select              'seleziona
        'ordina per col.C
        Selection.Sort Key1:=Range("C1"), Order1:=xlAscending, Header:=xlGuess, _
            OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom
        Sheets(2).Cells().ClearContents                     'cancella dati precedenti
        'ciclo per individuare inizio e fine di ciascun numero
        a = 2: b = 0: c = 1
        For i = 2 To riga
            If Cells(i, 3) <> Cells(i + 1, 3) Then
                b = i
                'copia/incolla
                Range("A" & a & ":G" & b).Select
                Selection.Copy
                Sheets(2).Cells(2, c).PasteSpecial
                'incremento per dati successivi
                i = i + 1: a = b + 1: c = c + 7
            End If
        Next i
        Application.CutCopyMode = False
        Range("A1").Select
    End Sub
    



  • di Laupany221 (utente non iscritto) data: 27/04/2015 14:07:42

    Questa funziona su questo file...grazie!

    però io dovrei fare la stessa cosa con un file con moltissimi valori che non riesco a mettere come allegato perchè è troppo grande!

    come posso fare????



  • di Laupany221 (utente non iscritto) data: 27/04/2015 14:32:12

    posso per caso mandarti il file via e.mail???

    grazie mille



  • di Marius44 (utente non iscritto) data: 27/04/2015 14:33:14

    ... troppo grande quanto?
    In Excel 2007 vi sono 65000 e rotti righe, in Excel 2010 più di 1milione.
    La macro che t'ho mandato funziona per qualsiasi numero purchè la colonna "C" sia in ordine (e la macro mette in ordine crescente).
    Riprova.



  • di Marius44 (utente non iscritto) data: 27/04/2015 14:35:50

    Se il file non è ... enorme ... manda pure. Vedrò cosa si può fare.
    Ciao



  • di alfrimpa data: 27/04/2015 15:42:49

    Veramente anche il Excel 2007 sono più di un milione (1.048.576)

    Alfredo







  • di Marius44 (utente non iscritto) data: 27/04/2015 15:47:43

    Il nostro Alfredo è sempre attento.
    Hai ragione: ho sbagliato gli anni; mi volevo riferire al 2003 e al 2007 rispettivamente.
    Ciao



  • di Marius44 (utente non iscritto) data: 27/04/2015 16:51:36

    Nella macro che ti ho inviato devi sostituire:
    riga = Sheets(1).Range("A65500").End(xlUp).Row 'ultima riga piena
    con:
    riga = Sheets(1).Range("A1048000").End(xlUp).Row 'ultima riga piena
    e dovrebbe funzionare con qualsiasi numero di dati.
    Ancora grazie ad Alfredo per avermi dato motivo di rivedere la macro.
     
    
    



  • di Laupany221 (utente non iscritto) data: 28/04/2015 11:37:18

    FUNZIONAAAAA!!!!
    DAVVVERO GRAZIE



  • di Laupany221 (utente non iscritto) data: 28/04/2015 11:51:05

    Se volessi ordinare sempre nello stesso modo ma per colonna A dove devo modificare la MACRO??



  • di Marius44 data: 28/04/2015 21:15:43

    Invece di:
    'ordina per col.C
    Selection.Sort Key1:=Range("C1"), Order1:=xlAscending, Header:=xlGuess, _
    OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom

    posta:
    'ordina per col.A
    Selection.Sort Key1:=Range("A1"), Order1:=xlAscending, Header:=xlGuess, _
    OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom



  • di Laupany221 (utente non iscritto) data: 29/04/2015 14:49:30

    GRAZIE MILLE

    e invece per riportare solo i dati della colonna A, B e C?


  • Togliere da valore dato con lo stesso indice
    di Laupany221 (utente non iscritto) data: 29/04/2015 15:49:58

    Una volta che ho fatto questa MACRO ottengo tutti i dati come in foglio "MACRO"...adesso mi servirebbe che da ciascun valore nel folgio "MACRO" nella colonna "RIGHT_PUPIL_SIZE" venisse tolto il valore "PUPIL_SIZE_MEAN" del foglio "VALORE MEDIO". Però per ciascun valore di "RIGHT_PUPIL_SIZE" con "TRIAL_INDEX" 1 bisogna togliere il valore del foglio "VALORE MEDIO" con "TRIAL INDEX" 1.

    Alla fine dovrei fare la media in orizzontale dei dati

    Se guardate il foglio "ESEMPIO" è più chiaro!

    Si tratta di moltissimi dati è per questo che non posso farlo manualmente

    Grazie a chi mi aiuterà