Risultati da 1 a 16 di 16

Discussione: Colonne da collegare a una serie fissa



  1. #1
    L'avatar di onlinez
    Clicca e Apri
    Data Registrazione
    Feb 2016
    Località
    Rimini
    Età
    42
    Messaggi
    6
    Versione Office
    2013
    Likes ricevuti
    0
    Likes dati
    1

    Colonne da collegare a una serie fissa

    Ciao ragazzi, vi allego un'immagine perchè spiegare la mia esigenza non è facile.
    In pratica, nella colonna gialla ho una serie fissa che deve rimanere tale (per ragioni di ordine di stampa qui in azienda).
    Ho bisogno che i gruppi di dati suddivisi nelle colonne verdi seguano l'ordine di quella serie.
    Quindi, ad esempio, la riga verde
    6 lucia.jpg 349089342

    dovrebbe essere spostata (con una formula, una macro, non so) alla stessa riga dove c'è il numero 6 nella colonna gialla.
    La riga verde
    7 daniele.jpg 47845763
    dovrebbe essere spostata (con una formula, una macro, non so) alla stessa riga dove c'è il numero 7 nella colonna gialla.
    E così via.

    Avete idee?
    Grazie mille, ciao

  2. #2
    L'avatar di onlinez
    Clicca e Apri
    Data Registrazione
    Feb 2016
    Località
    Rimini
    Età
    42
    Messaggi
    6
    Versione Office
    2013
    Likes ricevuti
    0
    Likes dati
    1
    Citazione Originariamente Scritto da onlinez Visualizza Messaggio
    Ciao ragazzi, vi allego un'immagine perchè spiegare la mia esigenza non è facile.
    In pratica, nella colonna gialla ho una serie fissa che deve rimanere tale (per ragioni di ordine di stampa qui in azienda).
    Ho bisogno che i gruppi di dati suddivisi nelle colonne verdi seguano l'ordine di quella serie.
    Quindi, ad esempio, la riga verde
    6 lucia.jpg 349089342

    dovrebbe essere spostata (con una formula, una macro, non so) alla stessa riga dove c'è il numero 6 nella colonna gialla.
    La riga verde
    7 daniele.jpg 47845763
    dovrebbe essere spostata (con una formula, una macro, non so) alla stessa riga dove c'è il numero 7 nella colonna gialla.
    E così via.

    Avete idee?
    Grazie mille, ciao
    Ho aggiunto l'allegato con lo screenshot :D
    File Allegati File Allegati

  3. #3
    L'avatar di Gerardo Zuccalà
    Clicca e Apri
    Data Registrazione
    May 2015
    Località
    Milano, Italy
    Età
    49
    Messaggi
    4916
    Versione Office
    2013
    Likes ricevuti
    1117
    Likes dati
    1125
    Ciao onlinez benvenuto in forum excel.it
    non serve che inserisci una immagine statica, ti con consiglio di inserire un file di excel, cosi da poterci lavorare direttamente senza riscrivere tutto a mano

    PS comunque se proprio vuoi inserire una immagine statica in formato jpg .png .gif ecc ecc ti faccio vedere come fare per questo forum senza zipparla, Guarda questo video e vedrai come inserire una immagine

    http://www.forumexcel.it/forum/2-ann...-www-imgur-com

  4. #4
    L'avatar di Canapone
    Clicca e Apri
    Data Registrazione
    Jun 2015
    Località
    Firenze
    Messaggi
    1075
    Versione Office
    2010 su Win
    Likes ricevuti
    598
    Likes dati
    202
    Ciao,

    nelle impostazioni avanzate di Excel cerca "modifica elenchi personalizzati": l'ordinamento personalizzato lo ricavi dalla colonna A.

    Poi puoi ordinare le altre colonne con il dati ordina, selezionando l'elenco(=ordinamento) personalizzato che hai appena creato.

    Qui trovi qualche istruzione

    https://support.office.com/it-it/art...b-ba213ec2fd61

    --------------------

    Ciao Gerardo, ci siamo sovrapposti.

  5. #5
    L'avatar di onlinez
    Clicca e Apri
    Data Registrazione
    Feb 2016
    Località
    Rimini
    Età
    42
    Messaggi
    6
    Versione Office
    2013
    Likes ricevuti
    0
    Likes dati
    1
    Citazione Originariamente Scritto da Canapone Visualizza Messaggio
    Ciao,

    nelle impostazioni avanzate di Excel cerca "modifica elenchi personalizzati": l'ordinamento personalizzato lo ricavi dalla colonna A.

    Poi puoi ordinare le altre colonne con il dati ordina, selezionando l'elenco(=ordinamento) personalizzato che hai appena creato.

    Qui trovi qualche istruzione

    https://support.office.com/it-it/art...b-ba213ec2fd61

    --------------------

    Ciao Gerardo, ci siamo sovrapposti.

    Ciao e grazie per la risposta.
    Purtroppo non funziona, perchè l'ordine personalizzato ha un limite di caratteri, credo.
    Vi allego per sicurezza l'Excel su cui sto lavorando.
    Grazie
    File Allegati File Allegati

  6. #6
    L'avatar di GiuseppeMN
    Clicca e Apri
    Data Registrazione
    Oct 2015
    Località
    Mantova
    Messaggi
    864
    Versione Office
    2000 - 2013
    Likes ricevuti
    285
    Likes dati
    160
    Buon pomeriggio, a Tutti.

    @ onlinez
    Con un Codice VBA, credo, sarebbe piuttosto semplice; senza VBA, posso solo indicarti come farei io.
    Colonne "D", "E" e "F" nascoste.
    In Cella "B1" utilizzerei la Formula del tipo:
    - =SE.ERRORE(CERCA.VERT($A1;$D$1:$F$1250;RIF.COLONNA();0);"")
    da copisre nelle Celle a destra e sottostanti.

    Sono consapevole che è una soluzione "taroccata", ma, questo è quanto.

    Ovviamente, se lo ritieni opportuno, possiamo analizzare assieme una soluzione con VBA.



    A disposizione.

    Buon Lavoro e buona serata.

    Giuseppe
    Windows XP Excel 2000 - Windows 10 Excel 2013

  7. #7

    L'avatar di Rubik72
    Clicca e Apri
    Data Registrazione
    Dec 2015
    Località
    Cosenza
    Età
    45
    Messaggi
    2807
    Versione Office
    Excel 2013
    Likes ricevuti
    1020
    Likes dati
    978
    una delle tante soluzione con il VBA
    Codice: 
    Sub Sostituisci()
    Dim iRow As Integer
    Dim xRow As Integer
    Dim D_Temp As Integer
    Dim E_Temp As String
    Dim F_Temp As Double
    
    
    Application.Calculation = xlCalculationManual
    iRow = 1
    Do Until Cells(iRow, 1) = ""
        xRow = 1
        Do Until Cells(xRow, 4) = Cells(iRow, 1)
            If Cells(xRow, 4) = "" Then GoTo Successivo
            xRow = xRow + 1
        Loop
        D_Temp = Cells(iRow, 4)
        E_Temp = Cells(iRow, 5)
        F_Temp = Cells(iRow, 6)
        
        Cells(iRow, 4) = Cells(xRow, 4)
        Cells(iRow, 5) = Cells(xRow, 5)
        Cells(iRow, 6) = Cells(xRow, 6)
        
        Cells(xRow, 4) = D_Temp
        Cells(xRow, 5) = E_Temp
        Cells(xRow, 6) = F_Temp
        
    Successivo:
        
        iRow = iRow + 1
    Loop
    Application.Calculation = xlCalculationAutomatic
    End Sub

  8. I seguenti 3 utenti hanno dato un "Like" a Rubik72 per questo post:


  9. #8
    L'avatar di onlinez
    Clicca e Apri
    Data Registrazione
    Feb 2016
    Località
    Rimini
    Età
    42
    Messaggi
    6
    Versione Office
    2013
    Likes ricevuti
    0
    Likes dati
    1

    Smile

    Grazie ad entrambi!

  10. #9
    L'avatar di GiuseppeMN
    Clicca e Apri
    Data Registrazione
    Oct 2015
    Località
    Mantova
    Messaggi
    864
    Versione Office
    2000 - 2013
    Likes ricevuti
    285
    Likes dati
    160
    Buona sera, Rubik.
    Visto che siamo passati a VBA, vorrei proporre un diverso approccio; sicuramente più "lento", ma, è quello a cui avevo pensato prima di leggere il Tuo ottimo Codice:

    Codice: 
    Option Explicit
    
    Sub Prova()
    Application.ScreenUpdating = False
    Dim NRg As Long, x As Long
    Dim Rcd()
        
        NRg = Range("A" & Rows.Count).End(xlUp).Row
    ReDim Rcd(NRg, 3)
        For x = 1 To NRg
            Rcd(x, 1) = Cells(x, 4)
            Rcd(x, 2) = Cells(x, 5)
            Rcd(x, 3) = Cells(x, 6)
        Next x
         For x = 1 To NRg
            Cells(x, 4) = Rcd(Cells(x, 1), 1)
            Cells(x, 5) = Rcd(Cells(x, 1), 2)
            Cells(x, 6) = Rcd(Cells(x, 1), 3)
         Next x
    Application.ScreenUpdating = True
    End Sub

    Buona serata.

    Giuseppe
    Windows XP Excel 2000 - Windows 10 Excel 2013

  11. I seguenti 2 utenti hanno dato un "Like" a GiuseppeMN per questo post:


  12. #10

    L'avatar di Rubik72
    Clicca e Apri
    Data Registrazione
    Dec 2015
    Località
    Cosenza
    Età
    45
    Messaggi
    2807
    Versione Office
    Excel 2013
    Likes ricevuti
    1020
    Likes dati
    978
    Complimenti, bella routine:18:.
    Volendo trovare il pelo nell'uovo.
    Codice: 
    Option Base 1
    Poi non credo sia più lenta della mia, anzi...
    nella mia ci sono due cicli, uno dei quali ricomincia sempre da capo.

    Adoro le matrici, anche se impegnano risorse, e quando posso le uso sempre.

    Questa volta te la do vinta, ma la prossima...:288:

  13. I seguenti utenti hanno dato un "Like"


  14. #11
    L'avatar di onlinez
    Clicca e Apri
    Data Registrazione
    Feb 2016
    Località
    Rimini
    Età
    42
    Messaggi
    6
    Versione Office
    2013
    Likes ricevuti
    0
    Likes dati
    1
    Citazione Originariamente Scritto da Rubik72 Visualizza Messaggio
    Complimenti, bella routine:18:.
    Volendo trovare il pelo nell'uovo.
    Codice: 
    Option Base 1
    Poi non credo sia più lenta della mia, anzi...
    nella mia ci sono due cicli, uno dei quali ricomincia sempre da capo.

    Adoro le matrici, anche se impegnano risorse, e quando posso le uso sempre.

    Questa volta te la do vinta, ma la prossima...:288:
    Ragazzi, siete dei miti! Grazie davvero :167:
    Io però non riesco ad eseguire i vostri codici.
    Nel senso che:
    1. apro Excel
    2. ALT + F11
    3. Copio ed incollo uno dei vostri codici (vedi allegato)
    4. Lo associo al foglio2 del mio file excel (vedi allegato)
    5. Salvo e premo play (vedi allegato)


    Ma nulla accade!
    Cosa sto saltando?
    Grazie
    File Allegati File Allegati
    • Tipo File: pdf vb.pdf (196.0 KB, 11 Visualizzazioni)

  15. #12
    L'avatar di GiuseppeMN
    Clicca e Apri
    Data Registrazione
    Oct 2015
    Località
    Mantova
    Messaggi
    864
    Versione Office
    2000 - 2013
    Likes ricevuti
    285
    Likes dati
    160
    Salve, Onlinez;
    sarebbe preferibile inserire uno dei Codici in un Modulo (nel Tuo File .pdf in Modulo1).
    Rendi attivo il Foglio di lavoro da elaborare e attivi il Codice (Play). Nei miei Test, per attivare il Codice, ho utilizzato un Pulsante dedicato.

    In ogni caso ti ringrazio della Tua Risposta che mi consente di chiedere lumi a @Rubik72 relativamente al Prezioso consiglio di utilizzare:
    Codice: 
    Option Base 1
    Non conosco questa istruzione. A cosa serve? Grazie.

    A disposizione.

    Buon fine settimana a Tutti.

    Giuseppe.
    Windows XP Excel 2000 - Windows 10 Excel 2013

  16. #13

    L'avatar di cromagno
    Clicca e Apri
    Data Registrazione
    Aug 2015
    Località
    Sardegna
    Età
    37
    Messaggi
    4016
    Versione Office
    2013
    Likes ricevuti
    1225
    Likes dati
    923
    Citazione Originariamente Scritto da GiuseppeMN Visualizza Messaggio
    Non conosco questa istruzione. A cosa serve? Grazie.
    Ciao Giuseppe,

    Codice: 
    Option Base 1
    all'inizio del codice, serve per specificare che "l'indice" della matrice non deve partire da 0 (zero) come da default ma da 1.

    Per qualche esempio (e spiegazione) ti rimando a MikeVba:
    http://mikevba.altervista.org/macro/mikevba020.htm

    P.S.
    Spero di non aver infranto io qualche regolamento.... altrimenti mi dovrò bannare :167:

    "Sono le persone che nessuno immagina che possano fare certe cose, quelle che fanno cose che nessuno può immaginare."

  17. I seguenti 2 utenti hanno dato un "Like" a cromagno per questo post:


  18. #14
    L'avatar di GiuseppeMN
    Clicca e Apri
    Data Registrazione
    Oct 2015
    Località
    Mantova
    Messaggi
    864
    Versione Office
    2000 - 2013
    Likes ricevuti
    285
    Likes dati
    160
    Buona giornata, Cromagno;
    ti ringrazuo di cuore della precisazione, uso le matrici con una certa frequenza, ma, non conoscevo proprio questa opportunità.

    Ho scaricato il Link che mi hai indicato; lo sto leggendo con attenzione e interesse.

    Un grazie di cuore a Te e a Rubik.


    Buon fine settimana a Tutti.

    Giuseppe
    Windows XP Excel 2000 - Windows 10 Excel 2013

  19. #15
    L'avatar di onlinez
    Clicca e Apri
    Data Registrazione
    Feb 2016
    Località
    Rimini
    Età
    42
    Messaggi
    6
    Versione Office
    2013
    Likes ricevuti
    0
    Likes dati
    1
    Ciao Giuseppe,
    il codice purtroppo mi dà errore runtime.
    Ti reinvio il file Excel e il codice che cerco di attivare è questo:


    Codice: 
    Option Explicit
    Sub Prova()
    Application.ScreenUpdating = False
    Dim NRg As Long, x As Long
    Dim Rcd()
    NRg = Range("A" & Rows.Count).End(xlUp).Row
    ReDim Rcd(NRg, 3)
    For x = 1 To NRg
    Rcd(x, 1) = Cells(x, 4)
    Rcd(x, 2) = Cells(x, 5)
    Rcd(x, 3) = Cells(x, 6)
    Next x
    For x = 1 To NRg
    Cells(x, 4) = Rcd(Cells(x, 1), 1)
    Cells(x, 5) = Rcd(Cells(x, 1), 2)
    Cells(x, 6) = Rcd(Cells(x, 1), 3)
    Next x
    Application.ScreenUpdating = True
    End Sub


    Grazie
    File Allegati File Allegati
    Ultima modifica fatta da:Gerardo Zuccalà; 01/03/16 alle 12:27 Motivo: mettere il codice tara TAG (#cancelletto)

  20. #16
    L'avatar di GiuseppeMN
    Clicca e Apri
    Data Registrazione
    Oct 2015
    Località
    Mantova
    Messaggi
    864
    Versione Office
    2000 - 2013
    Likes ricevuti
    285
    Likes dati
    160
    Buona giornata, Onlienez;
    credo dipenda dalla struttura del Tuo File proposto in Risposta #15

    Nel File precedente:
    - non erano previste le intestazioni; il rprimo Record era in Riga 1, ora, è in Riga 2
    - il Campo "Numerazione inviata dal Cliente", anche se il NomeCampo non era indicato, era in Colonna "D"; ora è in Colonna "E"
    Queste modifiche generano l'errore.

    Andrebbero rivisti tutti i riferimenti:
    Codice: 
        For x = 1 To NRg
            Rcd(x, 1) = Cells(x, 4)
            Rcd(x, 2) = Cells(x, 5)
            Rcd(x, 3) = Cells(x, 6)
        Next x
    Come accennato nelle altre mie risposte odierne, preferisco non addentratmi ulteriormente in questioni specifiche e concludere quì la mia esperienza in Forum; in ogni caso ti lascio in Ottime mani.

    Vorrei solo aggiungere che sarebbe buona cosa iniziare il Codice con:
    Codice: 
    Option Explicit
    Option Base 1
    L'istruzione "Option Base 1", ... non è farina del mio sacco; ringrazio @ Rubik72 e @ cromagno (un caro saluto e un grazie di cuore ad Entrambi) che mi hanno illuminato su questa Istruzione.


    Buon Lavoro e buona serata.

    Giuseppe
    Windows XP Excel 2000 - Windows 10 Excel 2013

Discussioni Simili

  1. fissa dati al passaggio della data
    Di destro.fabio nel forum Domande su Excel VBA e MACRO
    Risposte: 8
    Ultimo Messaggio: 08/12/16, 23:34
  2. [Risolto] trovare i massimi in una serie di 24 dati in una lunghissima serie
    Di SiorTodero nel forum Domande su Excel in generale
    Risposte: 18
    Ultimo Messaggio: 25/11/16, 11:57
  3. celle precedenti con colonna fissa e riga variabile
    Di mpaolett nel forum Domande su Excel in generale
    Risposte: 9
    Ultimo Messaggio: 19/05/16, 21:45
  4. Aggiungere tassa Fissa Poste Italiane
    Di A.Maurizio nel forum Domande su Excel VBA e MACRO
    Risposte: 8
    Ultimo Messaggio: 22/02/16, 19:28
  5. collegare colonne
    Di Diego nel forum Domande su Excel in generale
    Risposte: 14
    Ultimo Messaggio: 13/01/16, 17:51

Permessi di Scrittura

  • Tu non puoi inviare nuove discussioni
  • Tu non puoi inviare risposte
  • Tu non puoi inviare allegati
  • Tu non puoi modificare i tuoi messaggi
  •