Risultati da 1 a 30 di 30

Discussione: unione fogli



  1. #1
    L'avatar di borgpp
    Clicca e Apri
    Data Registrazione
    Dec 2015
    Località
    NAPOLI
    Età
    34
    Messaggi
    7
    Versione Office
    Excel 2013
    Likes ricevuti
    0
    Likes dati
    0

    unione fogli

    Salve questo è il mio problema:
    codici e descrizione stanno su due colonne diverse

    foglio 1
    CODICI DESCRIZIONE
    03.01.01 Spese societarie
    03.01.07 Costi di impianto e di ampliamento
    03.03.01 Software di proprieta' capitalizzato

    foglio 2
    03.01.01 Spese societarie
    03.01.07 Costi di impianto e di ampliamento
    19.03.03 Cassa contanti
    19.03.05 Cassa valori

    vorrei un terzo foglio che mi dia come risultato l'unione dei due senza duplicati.
    03.01.01 Spese societarie
    03.01.07 Costi di impianto e di ampliamento
    03.03.01 Software di proprieta' capitalizzato
    19.03.03 Cassa contanti
    19.03.05 Cassa valori

    Grazie per la vostra attenzione, se potete aiutarmi ve ne sarò grato

  2. #2
    L'avatar di Baloon_50
    Clicca e Apri
    Data Registrazione
    Aug 2015
    Località
    Milano - Italy
    Età
    67
    Messaggi
    3339
    Versione Office
    2013 PC
    Likes ricevuti
    483
    Likes dati
    49
    Citazione Originariamente Scritto da borgpp Visualizza Messaggio
    Salve questo è il mio problema:
    codici e descrizione stanno su due colonne diverse

    foglio 1
    CODICI DESCRIZIONE
    03.01.01 Spese societarie
    03.01.07 Costi di impianto e di ampliamento
    03.03.01 Software di proprieta' capitalizzato

    foglio 2
    03.01.01 Spese societarie
    03.01.07 Costi di impianto e di ampliamento
    19.03.03 Cassa contanti
    19.03.05 Cassa valori

    vorrei un terzo foglio che mi dia come risultato l'unione dei due senza duplicati.
    03.01.01 Spese societarie
    03.01.07 Costi di impianto e di ampliamento
    03.03.01 Software di proprieta' capitalizzato
    19.03.03 Cassa contanti
    19.03.05 Cassa valori

    Grazie per la vostra attenzione, se potete aiutarmi ve ne sarò grato
    Piccola domanda e se le descrizioni sono uguali ma le date diverse? li vuoi unire? se sì con quale data?

    A volte basta usare parole inutili come “grazie” e “per favore” per rendere la vita più bella.
    (ELKonigsburg)
    Dice il saggio : "se vuoi essere aiutato devi metter l'allegato"
    (Nick Carter - Ten)

  3. #3
    L'avatar di mb63
    Clicca e Apri
    Data Registrazione
    Nov 2015
    Località
    Torino
    Età
    54
    Messaggi
    484
    Versione Office
    2007/10/13 w10
    Likes ricevuti
    18
    Likes dati
    94
    buongiorno
    Sub copia()
    '
    ' copia Macro
    '
    Sheets("foglio1").Select
    Range("b2").Select
    ur = Range("b" & Rows.Count).End(xlUp).Row ' calcola le righe a cui applicare la formula
    With Worksheets("foglio2").Range("A:A")
    For i = 2 To ur
    Set c = .Find(Sheets("foglio1").Cells(i, "b"), LookIn:=xlValues, LookAt:=xlWhole)
    If c Is Nothing Then
    .Cells(Rows.Count, "a").End(xlUp).Offset(1, 0) = Sheets("foglio1").Cells(i, "b")
    .Cells(Rows.Count, "a").End(xlUp).Offset(0, 1) = Sheets("foglio1").Cells(i, "c")
    End If
    Next i
    End With
    End Sub
    da adattare alle esigenze in questo caso il primo dato di foglio1 si trova nella cella B2 e va a cercare se il codice è presente nel foglio2 altrimenti aggiunge codice e descrizione

    spero possa servire vista la mancanza di un file d'esempio

    buon pomeriggio

  4. #4
    L'avatar di Baloon_50
    Clicca e Apri
    Data Registrazione
    Aug 2015
    Località
    Milano - Italy
    Età
    67
    Messaggi
    3339
    Versione Office
    2013 PC
    Likes ricevuti
    483
    Likes dati
    49
    Citazione Originariamente Scritto da mb63 Visualizza Messaggio
    buongiorno


    da adattare alle esigenze in questo caso il primo dato di foglio1 si trova nella cella B2 e va a cercare se il codice è presente nel foglio2 altrimenti aggiunge codice e descrizione

    spero possa servire vista la mancanza di un file d'esempio

    buon pomeriggio
    ciao MB credo che il risultato non sia quello richiesto. Il risultato va nel foglio 3 e deve esserci un merge tra i dati del foglio 2 e quelli del foglio 3 unendo appunto i dati con descrizione uguale e adesso sto aspettando la risposta per le date (vedi #2)

    A volte basta usare parole inutili come “grazie” e “per favore” per rendere la vita più bella.
    (ELKonigsburg)
    Dice il saggio : "se vuoi essere aiutato devi metter l'allegato"
    (Nick Carter - Ten)

  5. #5
    L'avatar di mb63
    Clicca e Apri
    Data Registrazione
    Nov 2015
    Località
    Torino
    Età
    54
    Messaggi
    484
    Versione Office
    2007/10/13 w10
    Likes ricevuti
    18
    Likes dati
    94
    Grazie baloon per l'osservazione perfettamente corretta, stavo usando adesso questo file per lavoro e quindi avevo pensato che fosse utile, in effetti mi è sfuggito il passaggio che desidera avere i dati sul foglio3

  6. #6
    L'avatar di Baloon_50
    Clicca e Apri
    Data Registrazione
    Aug 2015
    Località
    Milano - Italy
    Età
    67
    Messaggi
    3339
    Versione Office
    2013 PC
    Likes ricevuti
    483
    Likes dati
    49
    Citazione Originariamente Scritto da mb63 Visualizza Messaggio
    Grazie baloon per l'osservazione perfettamente corretta, stavo usando adesso questo file per lavoro e quindi avevo pensato che fosse utile, in effetti mi è sfuggito il passaggio che desidera avere i dati sul foglio3
    nessun problema siamo quì per aiutarci tutti a vicenda :261:

    A volte basta usare parole inutili come “grazie” e “per favore” per rendere la vita più bella.
    (ELKonigsburg)
    Dice il saggio : "se vuoi essere aiutato devi metter l'allegato"
    (Nick Carter - Ten)

  7. #7
    L'avatar di mb63
    Clicca e Apri
    Data Registrazione
    Nov 2015
    Località
    Torino
    Età
    54
    Messaggi
    484
    Versione Office
    2007/10/13 w10
    Likes ricevuti
    18
    Likes dati
    94
    Ciao

    senza usare macro o vba, puoi copiare i dati del primo foglio su foglio3, i dati di foglio2 nel foglio3 sotto quelli precedentemente copiati e poi usare la funzione elimina duplicati presente nella barra in alto del file area dati>>>> strumenti dati>>> rimuovi duplicati

  8. #8
    L'avatar di Baloon_50
    Clicca e Apri
    Data Registrazione
    Aug 2015
    Località
    Milano - Italy
    Età
    67
    Messaggi
    3339
    Versione Office
    2013 PC
    Likes ricevuti
    483
    Likes dati
    49
    Citazione Originariamente Scritto da mb63 Visualizza Messaggio
    Ciao

    senza usare macro o vba, puoi copiare i dati del primo foglio su foglio3, i dati di foglio2 nel foglio3 sotto quelli precedentemente copiati e poi usare la funzione elimina duplicati presente nella barra in alto del file area dati>>>> strumenti dati>>> rimuovi duplicati

    Codice: 
    
    Option Explicit
    
    Sub EstrazioneDati()
    
    
    Dim uriga, uriga1 As Long
    Dim wsh, wsh1, wsh2 As Worksheet
    
    
    Application.ScreenUpdating = False
    
    
    Set wsh = ThisWorkbook.Worksheets("Foglio1")
    Set wsh1 = ThisWorkbook.Worksheets("Foglio2")
    Set wsh2 = ThisWorkbook.Worksheets("Foglio3")
    
    
    uriga = wsh.Cells(Rows.Count, 1).End(xlUp).Row
    wsh.Range("A1" & ":B" & uriga).Copy
    wsh2.Range("A1").PasteSpecial
    
    
    uriga = wsh1.Cells(Rows.Count, 1).End(xlUp).Row
    wsh1.Range("A2" & ":B" & uriga).Copy
    wsh2.Range("A" & uriga).PasteSpecial
    
    
    uriga = wsh2.Cells(Rows.Count, 1).End(xlUp).Row
    wsh2.Range("$A$1" & ":$B$" & uriga).RemoveDuplicates Columns:=2, Header:=xlYes
    
    
    Application.CutCopyMode = False
    Set wsh = Nothing
    Set wsh1 = Nothing
    Set wsh2 = Nothing
    Range("A1").Select
    Application.ScreenUpdating = True
    
    
    
    
    End Sub
    se invece non vuoi fare il lavoro manualmente puoi usare questo





    :999:
    Ultima modifica fatta da:Gerardo Zuccalà; 04/12/15 alle 18:21

    A volte basta usare parole inutili come “grazie” e “per favore” per rendere la vita più bella.
    (ELKonigsburg)
    Dice il saggio : "se vuoi essere aiutato devi metter l'allegato"
    (Nick Carter - Ten)

  9. #9
    L'avatar di borgpp
    Clicca e Apri
    Data Registrazione
    Dec 2015
    Località
    NAPOLI
    Età
    34
    Messaggi
    7
    Versione Office
    Excel 2013
    Likes ricevuti
    0
    Likes dati
    0
    MB e Baloon vi ringrazio tanto, siete stati gentilissimi..........Grandi...:111:

  10. #10
    L'avatar di Baloon_50
    Clicca e Apri
    Data Registrazione
    Aug 2015
    Località
    Milano - Italy
    Età
    67
    Messaggi
    3339
    Versione Office
    2013 PC
    Likes ricevuti
    483
    Likes dati
    49
    Citazione Originariamente Scritto da borgpp Visualizza Messaggio
    MB e Baloon vi ringrazio tanto, siete stati gentilissimi..........Grandi...:111:
    grazie a te per il riscontro positivo.

    dovresti farmi un piacere se per te è tutto ok dovresti segnare la discussione come [RISOLTO].
    Vai nella barra dei menu, situata all’inizio di questa discussione, troverai il menu “Strumenti Discussione” quindi scegli “Segna questo Thread come risolto”
    :999:

    A volte basta usare parole inutili come “grazie” e “per favore” per rendere la vita più bella.
    (ELKonigsburg)
    Dice il saggio : "se vuoi essere aiutato devi metter l'allegato"
    (Nick Carter - Ten)

  11. #11
    L'avatar di mb63
    Clicca e Apri
    Data Registrazione
    Nov 2015
    Località
    Torino
    Età
    54
    Messaggi
    484
    Versione Office
    2007/10/13 w10
    Likes ricevuti
    18
    Likes dati
    94
    Baloon ...

    come sempre la classe non è acqua...

    :999:

    buon fine settimana a tutti gli utenti

    alla prossima

  12. #12
    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
    1126
    Citazione Originariamente Scritto da Baloon_50 Visualizza Messaggio
    grazie a te per il riscontro positivo.

    dovresti farmi un piacere se per te è tutto ok dovresti segnare la discussione come [RISOLTO].
    Vai nella barra dei menu, situata all’inizio di questa discussione, troverai il menu “Strumenti Discussione” quindi scegli “Segna questo Thread come risolto”
    :999:
    Ho visto che questo Thread è già risolto, solo che io adesso vorrei sapere come creare una lista unica da più fogli, però in maniera dinamica, nel senso che se io aggiungo altri records nei fogli 1 e 2 , la lista unica si aggiorna automaticamente
    è possibile?
    grazie e un saluto

  13. #13
    L'avatar di Marius44
    Clicca e Apri
    Data Registrazione
    Sep 2015
    Località
    Catania
    Età
    73
    Messaggi
    3209
    Versione Office
    Excel2010
    Likes ricevuti
    625
    Likes dati
    155
    Salve a tutti ed un saluto particolare a Gerardo che mi dà la possibilità di dire la mia.
    Premesso che avevo dato la risposta al richiedente su altro Forum (ho volutamente evitato di postare qui per non rimarcare che il crossposting non è gradito, allego il file sul quale, cliccando nel Foglio3 nella cella Mostra Riepilogo, vengono elencati tutti i codici in maniera univoca (ma solo quelli chiesti dall'Utente) con i rispettivi saldi 2014 e 2015.
    L'elenco è dinamico.



    Spero sia di tuo gradimento.
    Ciao a tutti,
    Mario

    EDIT aggiunta codice
    Codice: 
    
    Option Explicit
    
    Private Sub Worksheet_SelectionChange(ByVal Target As Range)
    Dim rg1 As Long, rg2 As Long, rg3 As Long, rg As Long, a As Long
    Dim i As Long, j As Long, k As Long
    Dim ele As String, cod As String, cod1 As String, cod2 As String
    rg1 = Sheets(1).Cells(Rows.Count, 1).End(xlUp).Row
    rg2 = Sheets(2).Cells(Rows.Count, 1).End(xlUp).Row
    rg3 = Sheets(3).Cells(Rows.Count, 1).End(xlUp).Row
        If rg1 > rg2 Then rg = rg1 Else rg = rg2
        If Not Intersect(Target, Range("E1")) Is Nothing Then
            Range("A2:D" & rg3).ClearContents
            a = 2
            For i = 2 To rg
                If Len(Trim(Sheets(1).Cells(i, 1))) >= 8 Then
                    Cells(a, 1) = Trim(Sheets(1).Cells(i, 1)): a = a + 1
                End If
                If Len(Trim(Sheets(2).Cells(i, 1))) >= 8 Then
                    Cells(a, 1) = Trim(Sheets(2).Cells(i, 1)): a = a + 1
                End If
            Next i
    'ordina elenco univoco
            rg3 = Sheets(3).Cells(Rows.Count, 1).End(xlUp).Row
            ele = "A1:A" & rg3
            Range(ele).AdvancedFilter Action:=xlFilterInPlace, Unique:=True
            ActiveWorkbook.Worksheets("Riep").Sort.SortFields.Clear
            ActiveWorkbook.Worksheets("Riep").Sort.SortFields.Add Key:=Range(ele), _
                SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:= _
                xlSortTextAsNumbers
            With ActiveWorkbook.Worksheets("Riep").Sort
                .SetRange Range(ele)
                .Header = xlYes
                .MatchCase = False
                .Orientation = xlTopToBottom
                .SortMethod = xlPinYin
                .Apply
            End With
            For i = 2 To rg3
                cod = Cells(i, 1).Text
                For j = 2 To rg3
                    cod1 = Sheets(1).Cells(j, 1): cod1 = Trim(cod1)
                    If cod = cod1 Then
                        Cells(i, 2) = Sheets(1).Cells(j, 2)
                        Cells(i, 3) = Sheets(1).Cells(j, 3)
                        Exit For
                    End If
                Next j
                For k = 2 To rg3
                    cod2 = Sheets(2).Cells(k, 1): cod2 = Trim(cod2)
                    If cod = cod2 Then
                        Cells(i, 2) = Sheets(2).Cells(k, 2)
                        Cells(i, 4) = Sheets(2).Cells(k, 3)
                        Exit For
                    End If
                Next k
            Next i
        End If
    End Sub

  14. #14
    L'avatar di Baloon_50
    Clicca e Apri
    Data Registrazione
    Aug 2015
    Località
    Milano - Italy
    Età
    67
    Messaggi
    3339
    Versione Office
    2013 PC
    Likes ricevuti
    483
    Likes dati
    49
    Citazione Originariamente Scritto da Gerardo Zuccalà Visualizza Messaggio
    Ho visto che questo Thread è già risolto, solo che io adesso vorrei sapere come creare una lista unica da più fogli, però in maniera dinamica, nel senso che se io aggiungo altri records nei fogli 1 e 2 , la lista unica si aggiorna automaticamente
    è possibile?
    grazie e un saluto
    non ci sono problemi
    dopo che hai aggiunto i nuovi dati non devi fare altro che schiacciare il bottone (sempre lui ihihhihihi)

    A volte basta usare parole inutili come “grazie” e “per favore” per rendere la vita più bella.
    (ELKonigsburg)
    Dice il saggio : "se vuoi essere aiutato devi metter l'allegato"
    (Nick Carter - Ten)

  15. #15
    L'avatar di Baloon_50
    Clicca e Apri
    Data Registrazione
    Aug 2015
    Località
    Milano - Italy
    Età
    67
    Messaggi
    3339
    Versione Office
    2013 PC
    Likes ricevuti
    483
    Likes dati
    49
    Citazione Originariamente Scritto da Marius44 Visualizza Messaggio
    Salve a tutti ed un saluto particolare a Gerardo che mi dà la possibilità di dire la mia.
    Premesso che avevo dato la risposta al richiedente su altro Forum (ho volutamente evitato di postare qui per non rimarcare che il crossposting non è gradito, allego il file sul quale, cliccando nel Foglio3 nella cella Mostra Riepilogo, vengono elencati tutti i codici in maniera univoca (ma solo quelli chiesti dall'Utente) con i rispettivi saldi 2014 e 2015.
    L'elenco è dinamico.



    Spero sia di tuo gradimento.
    Ciao a tutti,
    Mario
    ma la richiesta era più semplice non ci sono saldi o altro ma solo due colonne codice e descrizione. Bho chi ci capisce, comunque la mia soluzione era su quanto richiesto.

    A volte basta usare parole inutili come “grazie” e “per favore” per rendere la vita più bella.
    (ELKonigsburg)
    Dice il saggio : "se vuoi essere aiutato devi metter l'allegato"
    (Nick Carter - Ten)

  16. #16
    L'avatar di borgpp
    Clicca e Apri
    Data Registrazione
    Dec 2015
    Località
    NAPOLI
    Età
    34
    Messaggi
    7
    Versione Office
    Excel 2013
    Likes ricevuti
    0
    Likes dati
    0
    se c'è un modo starò qui a leggervi......:242:

  17. #17
    L'avatar di Baloon_50
    Clicca e Apri
    Data Registrazione
    Aug 2015
    Località
    Milano - Italy
    Età
    67
    Messaggi
    3339
    Versione Office
    2013 PC
    Likes ricevuti
    483
    Likes dati
    49
    Citazione Originariamente Scritto da borgpp Visualizza Messaggio
    se c'è un modo starò qui a leggervi......:242:
    un modo per cosa?

    A volte basta usare parole inutili come “grazie” e “per favore” per rendere la vita più bella.
    (ELKonigsburg)
    Dice il saggio : "se vuoi essere aiutato devi metter l'allegato"
    (Nick Carter - Ten)

  18. #18
    L'avatar di Marius44
    Clicca e Apri
    Data Registrazione
    Sep 2015
    Località
    Catania
    Età
    73
    Messaggi
    3209
    Versione Office
    Excel2010
    Likes ricevuti
    625
    Likes dati
    155
    Citazione Originariamente Scritto da borgpp Visualizza Messaggio
    se c'è un modo starò qui a leggervi......:242:
    Se c'è un modo per cosa???

  19. #19
    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
    1126
    Ciao Mario grazie infinite del tuo codice anche se il mio scarso VBA mi permette di capire poco, mi blocco sempre su queste variabili che non mi vogliono entrare (Uriga, Y, i, ecc. ecc. ) se non esistessero capirei molto di più i codici
    Mario scrive
    Citazione Originariamente Scritto da Marius44 Visualizza Messaggio
    ho volutamente evitato di postare qui per non rimarcare che il crossposting non è gradito,
    bhe io direi che questo tipo di crossposting si può considerare positivo perchè non hai copiato la soluzione di un'altra persona ma era comunque la tua soluzione, forse potrei accusarti di pigrizia che non hai voluto rifare il tutto hahhahaah comunque è abbastanza scontato che un esperto come te che bazzica da anni nei forum, abbia ormai già postato tutto le proprie conoscenze e quindi sarebbe tutto un crossposting, comunque grazie di aver chiesto il permesso ma non mi sarei mai permesso di tirare fuori il cartellino giallo.
    Mario solitamente tu metti sempre il codice VBA insieme agli allegati come mai questa volta non l'hai fatto? Pigrizia?
    Scherzi a parte, però io rimarco sempre questo aspetto perchè quelli come me che usano molto il telefonino e non possono accedere all'editor VBA gradirebbero almeno leggersi il codice che credo sia molto istruttivo anche per imparare il VBA leggendo si impara sei d' accordo?
    Ciao Mario comunque grazie di tutto e per me sei un mito!!

  20. #20
    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
    1126
    Citazione Originariamente Scritto da Baloon_50 Visualizza Messaggio
    non ci sono problemi
    dopo che hai aggiunto i nuovi dati non devi fare altro che schiacciare il bottone (sempre lui ihihhihihi)
    Si si lo so, solo che quando aggiungevo altri records (Sotto) non si aggiornava non li prendeva, forse il range era fisso??

  21. #21
    L'avatar di Marius44
    Clicca e Apri
    Data Registrazione
    Sep 2015
    Località
    Catania
    Età
    73
    Messaggi
    3209
    Versione Office
    Excel2010
    Likes ricevuti
    625
    Likes dati
    155
    Gerardo scusami ma ero inc.....to. Il crossposting non era mio.
    Dai uno sguardo a quest'indirizzo : http://freeforumzone.leonardo.it/d/1...?#idm131852347

    ecco il codice (se vuoi lo spiego ma è abbastanza intuitivo e moooolto ma moooolto migliorabile)
    Codice: 
    Option Explicit
    Private Sub Worksheet_SelectionChange(ByVal Target As Range)
    Dim rg1 As Long, rg2 As Long, rg3 As Long, rg As Long, a As Long
    Dim i As Long, j As Long, k As Long
    Dim ele As String, cod As String, cod1 As String, cod2 As String
    rg1 = Sheets(1).Cells(Rows.Count, 1).End(xlUp).Row
    rg2 = Sheets(2).Cells(Rows.Count, 1).End(xlUp).Row
    rg3 = Sheets(3).Cells(Rows.Count, 1).End(xlUp).Row
        If rg1 > rg2 Then rg = rg1 Else rg = rg2
        If Not Intersect(Target, Range("E1")) Is Nothing Then
            Range("A2:D" & rg3).ClearContents
            a = 2
            For i = 2 To rg
                If Len(Trim(Sheets(1).Cells(i, 1))) >= 8 Then
                    Cells(a, 1) = Trim(Sheets(1).Cells(i, 1)): a = a + 1
                End If
                If Len(Trim(Sheets(2).Cells(i, 1))) >= 8 Then
                    Cells(a, 1) = Trim(Sheets(2).Cells(i, 1)): a = a + 1
                End If
            Next i
    'ordina elenco univoco
            rg3 = Sheets(3).Cells(Rows.Count, 1).End(xlUp).Row
            ele = "A1:A" & rg3
            Range(ele).AdvancedFilter Action:=xlFilterInPlace, Unique:=True
            ActiveWorkbook.Worksheets("Riep").Sort.SortFields.Clear
            ActiveWorkbook.Worksheets("Riep").Sort.SortFields.Add Key:=Range(ele), _
                SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:= _
                xlSortTextAsNumbers
            With ActiveWorkbook.Worksheets("Riep").Sort
                .SetRange Range(ele)
                .Header = xlYes
                .MatchCase = False
                .Orientation = xlTopToBottom
                .SortMethod = xlPinYin
                .Apply
            End With
            For i = 2 To rg3
                cod = Cells(i, 1).Text
                For j = 2 To rg3
                    cod1 = Sheets(1).Cells(j, 1): cod1 = Trim(cod1)
                    If cod = cod1 Then
                        Cells(i, 2) = Sheets(1).Cells(j, 2)
                        Cells(i, 3) = Sheets(1).Cells(j, 3)
                        Exit For
                    End If
                Next j
                For k = 2 To rg3
                    cod2 = Sheets(2).Cells(k, 1): cod2 = Trim(cod2)
                    If cod = cod2 Then
                        Cells(i, 2) = Sheets(2).Cells(k, 2)
                        Cells(i, 4) = Sheets(2).Cells(k, 3)
                        Exit For
                    End If
                Next k
            Next i
        End If
    End Sub
    Ciao,
    Mario

  22. #22
    L'avatar di Baloon_50
    Clicca e Apri
    Data Registrazione
    Aug 2015
    Località
    Milano - Italy
    Età
    67
    Messaggi
    3339
    Versione Office
    2013 PC
    Likes ricevuti
    483
    Likes dati
    49
    Citazione Originariamente Scritto da Gerardo Zuccalà Visualizza Messaggio
    Si si lo so, solo che quando aggiungevo altri records (Sotto) non si aggiornava non li prendeva, forse il range era fisso??
    assolutamente no guarda il codice cha hai gentilmente postato :243:

    no scusa questa è un'altra discussione - sto andando in confusione totale

    A volte basta usare parole inutili come “grazie” e “per favore” per rendere la vita più bella.
    (ELKonigsburg)
    Dice il saggio : "se vuoi essere aiutato devi metter l'allegato"
    (Nick Carter - Ten)

  23. #23
    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
    1126
    [edit]

  24. #24
    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
    1126
    Codice: 
    Option ExplicitPrivate Sub Worksheet_SelectionChange(ByVal Target As Range)
    Dim rg1 As Long, rg2 As Long, rg3 As Long, rg As Long, a As Long
    Dim i As Long, j As Long, k As Long
    Dim ele As String, cod As String, cod1 As String, cod2 As String
    rg1 = Sheets(1).Cells(Rows.Count, 1).End(xlUp).Row
    rg2 = Sheets(2).Cells(Rows.Count, 1).End(xlUp).Row
    rg3 = Sheets(3).Cells(Rows.Count, 1).End(xlUp).Row
        If rg1 > rg2 Then rg = rg1 Else rg = rg2
        If Not Intersect(Target, Range("E1")) Is Nothing Then
            Range("A2:D" & rg3).ClearContents
            a = 2
            For i = 2 To rg
                If Len(Trim(Sheets(1).Cells(i, 1))) >= 8 Then
                    Cells(a, 1) = Trim(Sheets(1).Cells(i, 1)): a = a + 1
                End If
                If Len(Trim(Sheets(2).Cells(i, 1))) >= 8 Then
                    Cells(a, 1) = Trim(Sheets(2).Cells(i, 1)): a = a + 1
                End If
            Next i
    'ordina elenco univoco
            rg3 = Sheets(3).Cells(Rows.Count, 1).End(xlUp).Row
            ele = "A1:A" & rg3
            Range(ele).AdvancedFilter Action:=xlFilterInPlace, Unique:=True
            ActiveWorkbook.Worksheets("Riep").Sort.SortFields.Clear
            ActiveWorkbook.Worksheets("Riep").Sort.SortFields.Add Key:=Range(ele), _
                SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:= _
                xlSortTextAsNumbers
            With ActiveWorkbook.Worksheets("Riep").Sort
                .SetRange Range(ele)
                .Header = xlYes
                .MatchCase = False
                .Orientation = xlTopToBottom
                .SortMethod = xlPinYin
                .Apply
            End With
            For i = 2 To rg3
                cod = Cells(i, 1).Text
                For j = 2 To rg3
                    cod1 = Sheets(1).Cells(j, 1): cod1 = Trim(cod1)
                    If cod = cod1 Then
                        Cells(i, 2) = Sheets(1).Cells(j, 2)
                        Cells(i, 3) = Sheets(1).Cells(j, 3)
                        Exit For
                    End If
                Next j
                For k = 2 To rg3
                    cod2 = Sheets(2).Cells(k, 1): cod2 = Trim(cod2)
                    If cod = cod2 Then
                        Cells(i, 2) = Sheets(2).Cells(k, 2)
                        Cells(i, 4) = Sheets(2).Cells(k, 3)
                        Exit For
                    End If
                Next k
            Next i
        End If End Sub
    Grazie Mario per il tuo generosissimo contributo, il mio problema sono le variabile, perchè la loro natura dovrebbe essere quella di semplificarti la vita, per una serie di motivi esempio anziche modificare tutto il foglio modifichi la variabile e il gioco è fatto, poi le variabili con OptionExplict non ti permette di eseguire la routine se c'è un errore nella scritta delle successive variabili, e poi se non sbaglio le variabili le hai anche nel "intellisense" cosa che comunque è ottima ma a volte mi perdo perche esempio le variabili con la loro dichiarazione dim che ho segnato in rosso le ho capite, ma quelle in blu non mi entrano proprio, e sono sicuro che se anziche scrivere (i, y, k,) si desse una descrizione del oggetto della variabile tutto sarebbe più comprensibile esempio tu come la chiameresti la varaibeile i? variabile y? e variabile k?
    grazie in anticipo per la tua spiegazione ( se possibile terra terra)
    Ciao

  25. #25
    L'avatar di Marius44
    Clicca e Apri
    Data Registrazione
    Sep 2015
    Località
    Catania
    Età
    73
    Messaggi
    3209
    Versione Office
    Excel2010
    Likes ricevuti
    625
    Likes dati
    155
    Allora: le variabili di una sola lettera sono dei semplici contatori che servono per far avanzare la ricerca riga dopo riga; le variabili String sono, appunto, delle stringhe di testo che mi servono per fare dei confronti.
    In altre parole con i, j, k passo da una cella d un'altra assumo il testo che c'è dentro (con le variabili string) e se il confronto è positivo scrivo il dato nelle altre celle. Quella un po' differente è la variabile ele che mi valorizza un intervallo.

    Spero di essere stato chiaro. Adesso vado a giocare col nipotino, poi cena e quindi partita di calcio.
    Buona serata a tutti

  26. #26
    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
    1126
    quindi partita di calcio
    alla faccia del bicarbonato di sodio!!
    Comunque grazie anche se non ho capito, mi servirebbe un tutorial per capire questa, comunque prima o poi la capirò
    Ciao

  27. #27
    L'avatar di Baloon_50
    Clicca e Apri
    Data Registrazione
    Aug 2015
    Località
    Milano - Italy
    Età
    67
    Messaggi
    3339
    Versione Office
    2013 PC
    Likes ricevuti
    483
    Likes dati
    49
    Citazione Originariamente Scritto da Gerardo Zuccalà Visualizza Messaggio
    alla faccia del bicarbonato di sodio!!
    Comunque grazie anche se non ho capito, mi servirebbe un tutorial per capire questa, comunque prima o poi la capirò
    Ciao
    comunque per aggiungere qualcosa in più, le variabili i e j k (quelle di una sola lettera) ormai sono diventate una prassi e vengono utilizzate solitamente nei vari cicli (for, while, ecc.) perchè sono più comode da mettere tra parentesi quando si devono passare dei valori (o da una cella all'altra come dice Mario) o altre operazioni che magari richiederebbero righe lunghissime. Infatti sono utilizzate anche per comodità

    A volte basta usare parole inutili come “grazie” e “per favore” per rendere la vita più bella.
    (ELKonigsburg)
    Dice il saggio : "se vuoi essere aiutato devi metter l'allegato"
    (Nick Carter - Ten)

  28. #28
    L'avatar di borgpp
    Clicca e Apri
    Data Registrazione
    Dec 2015
    Località
    NAPOLI
    Età
    34
    Messaggi
    7
    Versione Office
    Excel 2013
    Likes ricevuti
    0
    Likes dati
    0
    Singnori vi ringrazio tutti, perdonatemi per la confusione che ho creato, fruisco da poco di Excel e sono nuovo del forum. Come ho spiegato a Mario sull'altro forum, l'urgenza della giornata mi ha portato a scrivere su entrambi, chiedo venia.
    Vi ringrazio ancora, e vi auguro un buon fine settimana. Gentilissimi.
    Tanta stima per voi.......:23:.......;)

  29. #29
    L'avatar di borgpp
    Clicca e Apri
    Data Registrazione
    Dec 2015
    Località
    NAPOLI
    Età
    34
    Messaggi
    7
    Versione Office
    Excel 2013
    Likes ricevuti
    0
    Likes dati
    0
    Non sapevo dell'esistenza del crossposting prima di stasera, sono dispiaciuto per l'accaduto.
    Grazie ancora.

  30. #30
    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
    1126
    Citazione Originariamente Scritto da borgpp Visualizza Messaggio
    Non sapevo dell'esistenza del crossposting prima di stasera, sono dispiaciuto per l'accaduto.
    Grazie ancora.
    Ok scuse accettate, però per piacere dai un'occhiata al regolamneto
    http://www.forumexcel.it/forum/2-ann...rum?p=30post30

Discussioni Simili

  1. [Risolto] Unione di più fogli con ricerca
    Di Rudolfet nel forum Domande su Excel VBA e MACRO
    Risposte: 4
    Ultimo Messaggio: 03/10/16, 14:42
  2. Unione di più fogli con ricerca
    Di Rudolfet nel forum Domande su Excel in generale
    Risposte: 2
    Ultimo Messaggio: 25/09/16, 14:29
  3. Unione di due fogli di uno stesso file xlsx
    Di Gian666 nel forum Domande su Excel in generale
    Risposte: 6
    Ultimo Messaggio: 13/09/16, 12:17
  4. vba stampa unione in pdf
    Di CRISTIAN nel forum Domande su Excel in generale
    Risposte: 4
    Ultimo Messaggio: 08/06/16, 17:29
  5. Unione di più Fogli Excel in uno solo
    Di fberlinetta nel forum Domande su Excel VBA e MACRO
    Risposte: 9
    Ultimo Messaggio: 07/04/16, 10:22

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
  •