Risultati da 1 a 24 di 24

Discussione: Copiare righe da un foglio all'altro in base ad un valore



  1. #1
    L'avatar di lucas22f
    Clicca e Apri
    Data Registrazione
    Jul 2016
    Località
    Ravenna
    Età
    27
    Messaggi
    17
    Versione Office
    2010
    Likes ricevuti
    0
    Likes dati
    3

    Copiare righe da un foglio all'altro in base ad un valore

    Buongiorno,
    Sono nuovo di questo forum, se sto sbagliando chiedo scusa.

    Io ho un problema su un foglio excel con una macro.
    ho un archivio di un numero imprecisato di atleti di diverse categorie.
    con una macro devo individuare la categoria e in base ad essa nel foglio di destinazione devo inserire solo il codice tessera nella colonna gialla come nel foglio in allegato.

    La categoria può essere ad esempio G1M o G1F, devono essere messi nella stessa tabella.

    Grazie per l'aiuto.
    Luca
    File Allegati File Allegati

  2. #2

    L'avatar di alfrimpa
    Clicca e Apri
    Data Registrazione
    Dec 2015
    Località
    Napoli
    Età
    64
    Messaggi
    6811
    Versione Office
    2013
    Likes ricevuti
    720
    Likes dati
    165

    Re: Copiare righe da un foglio all'altro in base ad un valore

    Ciao Luca

    Non capisco qual è il codice tessera che deve essere inserito nelle rispettive colonne gialle del foglio Destinazione.

    Forse è G1M e G1f che vanno inseriti nella colonna gialla di G1?

    Allfredo

    ----------Post unito in automatico----------

    Ciao Luca

    Comincia a vedere il file che ti allego se è quello che vuoi

    Ho inserito la seguente macro

    Codice: 
    Sub luca()
    Dim rng As Range
    Dim cel As Range
    Dim col As Integer
    Dim lr As Long
    lr = Worksheets("archivio atl").Cells(Rows.Count, 6).End(xlUp).Row
    Dim ur As Long
    Set rng = Worksheets("archivio atl").Range("F2:f" & lr)
    For Each cel In rng
        Select Case cel.Value
            Case Is = "PG"
                col = 3
            Case Is = "G1M"
                col = 7
            Case Is = "G1F"
                col = 7
            Case Is = "G2M"
                col = 11
            Case Is = "G2F"
                col = 11
            Case Is = "G3M"
                col = 15
            Case Is = "G3F"
                col = 15
            Case Is = "G4M"
                col = 19
            Case Is = "G4F"
                col = 19
            Case Is = "G5M"
                col = 23
            Case Is = "G5F"
                col = 23
            Case Is = "G6M"
                col = 27
            Case Is = "G6F"
                col = 27
        End Select
    ur = Worksheets("Destinazione").Cells(Rows.Count, col).End(xlUp).Row
    cel.Copy Destination:=Worksheets("Destinazione").Cells(ur + 1, col)
    Next cel
    End Sub
    che va rifinita.

    Alfredo

    P.S. Sul tuo file ho dovuto fare qualche piccola modifica (es. togliere le celle unite che danno molto fastidio al VBA e altra piccola cosa che, se ho centrato l'obiettivo, ti illustrerò poi)
    File Allegati File Allegati

  3. #3
    L'avatar di lucas22f
    Clicca e Apri
    Data Registrazione
    Jul 2016
    Località
    Ravenna
    Età
    27
    Messaggi
    17
    Versione Office
    2010
    Likes ricevuti
    0
    Likes dati
    3

    Re: Copiare righe da un foglio all'altro in base ad un valore

    Citazione Originariamente Scritto da alfrimpa Visualizza Messaggio
    Ciao Luca

    Non capisco qual è il codice tessera che deve essere inserito nelle rispettive colonne gialle del foglio Destinazione.

    Forse è G1M e G1f che vanno inseriti nella colonna gialla di G1?

    Allfredo
    Ciao Alfredo, forse mi sono spiegato un po male e chiedo scusa.
    vorrei che con una macro cercandomi la categoria mi vada a dividere le categorie incollando nella colonna cialla il numero di tessera.

    Grazie Luca

  4. #4

    L'avatar di cromagno
    Clicca e Apri
    Data Registrazione
    Aug 2015
    Località
    Sardegna
    Età
    37
    Messaggi
    4022
    Versione Office
    2013
    Likes ricevuti
    1228
    Likes dati
    923

    Re: Copiare righe da un foglio all'altro in base ad un valore

    Ciao a tutti,

    @luca22f
    non so se Alfredo ( ) ti abbia risolto il problema perchè sinceramente non ho capito cosa vuoi ottenere.
    Nel file hai messo la situazione iniziale, ma non hai riportato in nessun modo (scrivendo manualmente) il risultato voluto.

    P.S.
    Hai detto:
    Io ho un problema su un foglio excel con una macro.
    Perchè non hai messo la macro all'interno del file???
    Anche se sbagliata poteva aiutare a capire quello che mancava nella spiegazione.

    Quindi vuoi un codice "ex novo" ???

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

  5. #5
    L'avatar di lucas22f
    Clicca e Apri
    Data Registrazione
    Jul 2016
    Località
    Ravenna
    Età
    27
    Messaggi
    17
    Versione Office
    2010
    Likes ricevuti
    0
    Likes dati
    3

    Re: Copiare righe da un foglio all'altro in base ad un valore

    Scusa se ho formulato male la mia domanda, nel file che ho inserito, nel foglio "destinazione" nella colonna gialla dovrebbe comparire solo il numero tessera dividendo per le varie categorie.

  6. #6

    L'avatar di cromagno
    Clicca e Apri
    Data Registrazione
    Aug 2015
    Località
    Sardegna
    Età
    37
    Messaggi
    4022
    Versione Office
    2013
    Likes ricevuti
    1228
    Likes dati
    923

    Re: Copiare righe da un foglio all'altro in base ad un valore

    Citazione Originariamente Scritto da lucas22f Visualizza Messaggio
    Scusa se ho formulato male la mia domanda, nel file che ho inserito, nel foglio "destinazione" nella colonna gialla dovrebbe comparire solo il numero tessera dividendo per le varie categorie.
    Ciao,
    non è cambiata tanto la spiegazione.

    Come detto prima, se vuoi aiuti concreti, mettici in grado di capire quel che dovremmo fare....

    Riallega il file con il risultato voluto.

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

  7. #7

    L'avatar di alfrimpa
    Clicca e Apri
    Data Registrazione
    Dec 2015
    Località
    Napoli
    Età
    64
    Messaggi
    6811
    Versione Office
    2013
    Likes ricevuti
    720
    Likes dati
    165

    Re: Copiare righe da un foglio all'altro in base ad un valore

    Si ma qual è questo numero di tessera che deve comparire sul foglio Destinazione? Il codiceFCI presente in colonna E del primo foglio?

    Come ha detto Cromagno (ciao Tore) allega un file con il risultato desiderato.

    Io ho capito che tu volessi "distribuire" i dati presenti in colonna F del primo foglio nelle rispettive colonne del foglio Destinazione.

    Alfredo

    ----------Post unito in automatico----------

    Citazione Originariamente Scritto da cromagno Visualizza Messaggio
    non so se Alfredo ( ) ti abbia risolto il problema
    Io ci ho provato ....

    Alfredo

    ----------Post unito in automatico----------

    Se il numero di tessera è il codice FCI prova questa macro leggermente modificata

    Codice: 
    Sub luca()
    Dim rng As Range
    Dim cel As Range
    Dim col As Integer
    Dim lr As Long
    lr = Worksheets("archivio atl").Cells(Rows.Count, 6).End(xlUp).Row
    Dim ur As Long
    Set rng = Worksheets("archivio atl").Range("F2:f" & lr)
    For Each cel In rng
        Select Case cel.Value
            Case Is = "PG"
                col = 3
            Case Is = "G1M"
                col = 7
            Case Is = "G1F"
                col = 7
            Case Is = "G2M"
                col = 11
            Case Is = "G2F"
                col = 11
            Case Is = "G3M"
                col = 15
            Case Is = "G3F"
                col = 15
            Case Is = "G4M"
                col = 19
            Case Is = "G4F"
                col = 19
            Case Is = "G5M"
                col = 23
            Case Is = "G5F"
                col = 23
            Case Is = "G6M"
                col = 27
            Case Is = "G6F"
                col = 27
        End Select
    ur = Worksheets("Destinazione").Cells(Rows.Count, col).End(xlUp).Row
    cel.Offset(0, -1).Copy Destination:=Worksheets("Destinazione").Cells(ur + 1, col)
    Next cel
    End Sub
    Alfredo

  8. #8

    L'avatar di cromagno
    Clicca e Apri
    Data Registrazione
    Aug 2015
    Località
    Sardegna
    Età
    37
    Messaggi
    4022
    Versione Office
    2013
    Likes ricevuti
    1228
    Likes dati
    923

    Re: Copiare righe da un foglio all'altro in base ad un valore

    @lucas22f

    prima che accada, ti suggerisco di leggerti il Regolamento, specialmente il crossposting, visto che (apparentemente) stai trattando lo stesso file in questa discussione:
    http://www.excelvba.it/Forum/thread.php?f=1&t=10840

    considerando che ti stavano/stanno rispondendo in tutto, perchè hai voluto proseguire anche in questo forum ?

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

  9. #9

    L'avatar di alfrimpa
    Clicca e Apri
    Data Registrazione
    Dec 2015
    Località
    Napoli
    Età
    64
    Messaggi
    6811
    Versione Office
    2013
    Likes ricevuti
    720
    Likes dati
    165

    Re: Copiare righe da un foglio all'altro in base ad un valore

    Citazione Originariamente Scritto da cromagno Visualizza Messaggio
    @lucas22f

    prima che accada, ti suggerisco di leggerti il Regolamento, specialmente il crossposting, visto che (apparentemente) stai trattando lo stesso file in questa discussione:
    http://www.excelvba.it/Forum/thread.php?f=1&t=10840

    considerando che ti stavano/stanno rispondendo in tutto, perchè hai voluto proseguire anche in questo forum ?
    Tore non me ne ero proprio accorto.

    Spero almeno che Luca dica se la mia macro era "esatta" o meno.

    Alfredo

  10. #10

    L'avatar di cromagno
    Clicca e Apri
    Data Registrazione
    Aug 2015
    Località
    Sardegna
    Età
    37
    Messaggi
    4022
    Versione Office
    2013
    Likes ricevuti
    1228
    Likes dati
    923

    Re: Copiare righe da un foglio all'altro in base ad un valore

    Citazione Originariamente Scritto da alfrimpa Visualizza Messaggio
    Tore non me ne ero proprio accorto.

    Spero almeno che Luca dica se la mia macro era "esatta" o meno.

    Alfredo
    Ciao Alfredo,
    per adesso le due discussioni non sono proprio uguali (anche se si stanno avvicinando sempre più), per questo ho dato solo un avvertimento e non chiudo ancora il thread.

    Ciao
    Tore

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

  11. #11

    L'avatar di alfrimpa
    Clicca e Apri
    Data Registrazione
    Dec 2015
    Località
    Napoli
    Età
    64
    Messaggi
    6811
    Versione Office
    2013
    Likes ricevuti
    720
    Likes dati
    165

    Re: Copiare righe da un foglio all'altro in base ad un valore

    Nel mio pervicace tentativo di giungere ad una soluzione propongo altro file con la seguente macro

    Codice: 
    Sub luca()
    Dim rng As Range
    Dim cel As Range
    Dim col As Integer
    Dim lr As Long
    lr = Worksheets("archivio atl").Cells(Rows.Count, 6).End(xlUp).Row
    Dim ur As Long
    Set rng = Worksheets("archivio atl").Range("F2:f" & lr)
    Application.ScreenUpdating = False
    For Each cel In rng
        Select Case cel.Value
            Case Is = "PG"
                col = 3
            Case Is = "G1M"
                col = 7
            Case Is = "G1F"
                col = 7
            Case Is = "G2M"
                col = 11
            Case Is = "G2F"
                col = 11
            Case Is = "G3M"
                col = 15
            Case Is = "G3F"
                col = 15
            Case Is = "G4M"
                col = 19
            Case Is = "G4F"
                col = 19
            Case Is = "G5M"
                col = 23
            Case Is = "G5F"
                col = 23
            Case Is = "G6M"
                col = 27
            Case Is = "G6F"
                col = 27
        End Select
    ur = Worksheets("Destinazione").Cells(Rows.Count, col).End(xlUp).Row
    cel.Offset(0, -1).Copy
    Worksheets("Destinazione").Activate
    Cells(ur + 1, col).Select
        Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
            :=False, Transpose:=False
    Next cel
    Application.ScreenUpdating = True
    End Sub
    Alfredo

    P.S. @ Cromagno e a chiunque altro volesse rispondere. Come potete vedere nella macro ho utilizzato un Select Case per la determinazione della colonna da compilare sul foglio Destinazione; poiché tale soluzione non mi piace molto "esteticamente" (anche se fa il suo lavoro) chiedo se vi sono alternative più "eleganti".
    File Allegati File Allegati

  12. #12
    L'avatar di lucas22f
    Clicca e Apri
    Data Registrazione
    Jul 2016
    Località
    Ravenna
    Età
    27
    Messaggi
    17
    Versione Office
    2010
    Likes ricevuti
    0
    Likes dati
    3

    Re: Copiare righe da un foglio all'altro in base ad un valore

    prima che accada, ti suggerisco di leggerti il Regolamento, specialmente il crossposting, visto che (apparentemente) stai trattando lo stesso file in questa discussione:
    http://www.excelvba.it/Forum/thread.php?f=1&t=10840

    considerando che ti stavano/stanno rispondendo in tutto, perchè hai voluto proseguire anche in questo forum ?
    nell'altro forum mi serve per un'altro scopo quella macro e a mio parere non è crossposting.. però se sto sbagliando fatemi sapere.

    Nel mio pervicace tentativo di giungere ad una soluzione propongo altro file con la seguente macro
    Grazie, ora funziona da dio

  13. #13

    L'avatar di alfrimpa
    Clicca e Apri
    Data Registrazione
    Dec 2015
    Località
    Napoli
    Età
    64
    Messaggi
    6811
    Versione Office
    2013
    Likes ricevuti
    720
    Likes dati
    165

    Re: Copiare righe da un foglio all'altro in base ad un valore

    Ciao Luca

    Mi fa piacere di aver centrato l'obiettivo.

    Solo due raccomandazioni:

    1) Nella riga delle intestazioni non unire le celle (come detto danno molto fastidio al VBA);
    2) Non cancellare la riga delle intestazioni; in ogni cella sovrastante le colonne gialle c'è un carattere (non visibile) che occorre per il corretto funzionamento del codice (se ti interessa posso anche spiegarti perchè).

    Alfredo

  14. #14
    L'avatar di lucas22f
    Clicca e Apri
    Data Registrazione
    Jul 2016
    Località
    Ravenna
    Età
    27
    Messaggi
    17
    Versione Office
    2010
    Likes ricevuti
    0
    Likes dati
    3

    Re: Copiare righe da un foglio all'altro in base ad un valore

    Citazione Originariamente Scritto da alfrimpa Visualizza Messaggio
    Ciao Luca

    Mi fa piacere di aver centrato l'obiettivo.

    Solo due raccomandazioni:

    1) Nella riga delle intestazioni non unire le celle (come detto danno molto fastidio al VBA);
    2) Non cancellare la riga delle intestazioni; in ogni cella sovrastante le colonne gialle c'è un carattere (non visibile) che occorre per il corretto funzionamento del codice (se ti interessa posso anche spiegarti perchè).

    Alfredo
    Se hai tempo per spiegarlo mi fa molto piacere..

  15. #15

    L'avatar di alfrimpa
    Clicca e Apri
    Data Registrazione
    Dec 2015
    Località
    Napoli
    Età
    64
    Messaggi
    6811
    Versione Office
    2013
    Likes ricevuti
    720
    Likes dati
    165

    Re: Copiare righe da un foglio all'altro in base ad un valore

    Ciao Luca eccomi a risponderti.

    Prima di entrare nello specifico vorrei innanzitutto richiamare alcuni concetti utilizzati nella macro ossia: variabili, ciclo For e Select Case

    Variabili

    In VBA le variabili sono dei “contenitori” nei quali possiamo memorizzare dati. Le variabili sono di vario tipo (numeriche, stringa, oggetto etc.) e sono dimensionate con l’istruzione Dim; va da sé che se si dimensiona una variabile numerica (Integer, Long, Double etc.) in quella variabile possono essere memorizzati solo dati numerici.

    Due parole sulle variabili “Oggetto”: in queste possono essere memorizzatigli oggetti tipici di Excel come Range, Worksheet, Workbook o altro e di questi oggetti assumono le relative proprietà/metodi (quindi se cel è una variabile oggetto Range si potrà scrivere cel.Value o cel.Copy.

    Ciclo For

    I cicli sono istruzioni che eseguono le azioni iscritte al loro interno per un determinato numero di volte; ve ne sono di vario tipo For…Next, For Each…Next, Do While…Loop etc; l’utilizzo dell’uno piuttosto dell’altro dipende dall’azione che si deve eseguire.

    Select Case

    Con questo enunciato è come se si dicesse se si è in presenza di un determinato valore fammi questo oppure quello o ancora quell’altro.

    Ora passiamo al codice.

    Queste sono le dichiarazioni delle variabili necessarie

    Codice: 
    Dim rng As Range
    Dim cel As Range
    Dim col As Integer
    Dim lr As Long
    Dim ur As Long
    Queste sono le impostazioni delle variabili. Con la prima istruzione determino l’ultima cella piena della colonna 6 (F) del foglio “archivio atl”; con la seconda inserisco nella variabile oggetto rng l’intervallo che si deve esaminare che parte da F2 e termina ad F ultima riga piena

    Codice: 
    lr = Worksheets("archivio atl").Cells(Rows.Count, 6).End(xlUp).Row
    Set rng = Worksheets("archivio atl").Range("F2:f" & lr)
    Con questa istruzione disabilito l’aggiornamento dello schermo per evitare lo “sballonzolamento/sfarfallio” dello stesso

    Codice: 
    Application.ScreenUpdating = False
    Inizio un ciclo For Each … Next

    Codice: 
    For Each cel In rng
    Select Case cel.Value
    Case Is = "PG"
    col = 3
    Case Is = "G1M"
    col = 7
    Case Is = "G1F"
    col = 7
    Case Is = "G2M"
    col = 11
    Case Is = "G2F"
    col = 11
    Case Is = "G3M"
    col = 15
    Case Is = "G3F"
    col = 15
    Case Is = "G4M"
    col = 19
    Case Is = "G4F"
    col = 19
    Case Is = "G5M"
    col = 23
    Case Is = "G5F"
    col = 23
    Case Is = "G6M"
    col = 27
    Case Is = "G6F"
    col = 27
    End Select
    ur = Worksheets("Destinazione").Cells(Rows.Count, col).End(xlUp).Row
    cel.Offset(0, -1).Copy
    Worksheets("Destinazione").Activate
    Cells(ur + 1, col).Select
    Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
    :=False, Transpose:=False
    Next cel
    Con queste istruzioni per ogni cella dell’intervallo F2:Fn del foglio “archivio atl”

    1) Determino con Select Case la relativa colonna di compilazione sul Foglio “Destinazione"
    2) Per ogni colonna determino (con ur = Worksheets(“Destinazione”).Cells(Rows.Count, col).End(xlUp).Row) il numero della prima riga disponibile su cui andare a scrivere il valore
    3) Per ogni cella con l’istruzione cel.Offset(0, -1).Copy copio il valore che è sulla stessa riga ma alla colonna precedente (ossia il numero di tessera).
    4) Seleziono il Foglio “Destinazione”
    5) Con Cells(ur + 1, col) seleziono la cella dove andare ad incollare il dato
    6) Incollo i soli valori
    7) Chiudo il ciclo For Each con Next cel

    Con questa infine ripristino l’aggiornamento dello schermo

    Codice: 
    Application.ScreenUpdating = True
    Spero sia tutto chiaro e perdona la lunghezza del post.

    Alfredo

  16. I seguenti utenti hanno dato un "Like"


  17. #16
    L'avatar di lucas22f
    Clicca e Apri
    Data Registrazione
    Jul 2016
    Località
    Ravenna
    Età
    27
    Messaggi
    17
    Versione Office
    2010
    Likes ricevuti
    0
    Likes dati
    3

    Re: Copiare righe da un foglio all'altro in base ad un valore

    Grazie mille Alfredo, sei stato chiarissimo.
    e se nel caso io volessi copiare solo le celle che nella colonna "E" abbiano un numero e di dire alla macro di saltare le celle con un testo?

    Scusa le domande ma ho imparato a studiare VBA da poco..

  18. #17

    L'avatar di alfrimpa
    Clicca e Apri
    Data Registrazione
    Dec 2015
    Località
    Napoli
    Età
    64
    Messaggi
    6811
    Versione Office
    2013
    Likes ricevuti
    720
    Likes dati
    165

    Re: Copiare righe da un foglio all'altro in base ad un valore

    E' molto semplice baste che fai la seguente modifica al codice (le righe aggiunte sono in rosso

    Codice: 
    If IsNumeric(cel.Offset(0, -1)) Then
    cel.Offset(0, -1).Copy
    Worksheets("Destinazione").Activate
    Cells(ur + 1, col).Select
    Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
    :=False, Transpose:=False
    End If
    Alfredo

  19. I seguenti utenti hanno dato un "Like"


  20. #18
    L'avatar di lucas22f
    Clicca e Apri
    Data Registrazione
    Jul 2016
    Località
    Ravenna
    Età
    27
    Messaggi
    17
    Versione Office
    2010
    Likes ricevuti
    0
    Likes dati
    3

    Re: Copiare righe da un foglio all'altro in base ad un valore

    Grazie mille per la dritta..

    Luca

    ----------Post unito in automatico----------

    Scusa ancora per il disturbo, sto provando il codice e ora mi salta fuori l'errore "Errore definito dall'applicazione o dall'oggetto"

    Cosa puo essere?

    Codice: 
    Sub PROVA()
    Dim cel As Range
    Dim col As Integer
    Dim a As Integer
    Dim ir As Long
    Dim rng As Range
    Dim ur As Long
    
    Application.ScreenUpdating = False
    Worksheets("DIVSPR").Select
    
    ir = Worksheets("DIVSPR").Cells(Rows.Count, 2).End(xlUp).Row
    Set rng = Worksheets("DIVSPR").Range("B14:B" & ir)
    
    
    
    For Each cel In rng
        Select Case cel.Value
            Case Is = "G1M"
                col = 3
            Case Is = "G1F"
                col = 4
            Case Is = "G2M"
                col = 5
            Case Is = "G2F"
                col = 6
            Case Is = "G3M"
                col = 7
            Case Is = "G3F"
                col = 8
            Case Is = "G4M"
                col = 9
            Case Is = "G4F"
                col = 10
            Case Is = "G5M"
                col = 11
            Case Is = "G5F"
                col = 12
            Case Is = "G6M"
                col = 13
            Case Is = "G6F"
                col = 14
        End Select
    ur = Worksheets("DIVSPR").Cells(Rows.Count, col).End(xlUp).Row
    If IsNumeric(cel.Offset(0, -1)) Then
    cel.Offset(0, -1).Copy
    Worksheets("DIVSPR").Activate
    Cells(ur + 1, col).Select
    Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
    :=False, Transpose:=False
    End If
    Next cel
    
    Application.ScreenUpdating = True
    
    End Sub
    Grazie
    Luca

  21. #19

    L'avatar di alfrimpa
    Clicca e Apri
    Data Registrazione
    Dec 2015
    Località
    Napoli
    Età
    64
    Messaggi
    6811
    Versione Office
    2013
    Likes ricevuti
    720
    Likes dati
    165

    Re: Copiare righe da un foglio all'altro in base ad un valore

    Per poterti rispondere dovrei vedere il file; puoi allegarlo senza dati sensibili?

    Non è che sul foglio "DVSPR" ci sono celle unite?

    Ma questa istruzione

    Codice: 
    ur = Worksheets("DIVSPR").Cells(Rows.Count, col).End(xlUp).Row
    non dovrebbe essere

    Codice: 
    ur = Worksheets("Destinazione").Cells(Rows.Count, col).End(xlUp).Row
    Sul file che hai allegato in precedenza vi erano due fogli: "archivio atl" e "Destinazione"

    Quindi anche sul nuovo file ci devono essere due fogli

    A meno che non mi sfugga qualcosa.

    Alfredo

  22. #20
    L'avatar di lucas22f
    Clicca e Apri
    Data Registrazione
    Jul 2016
    Località
    Ravenna
    Età
    27
    Messaggi
    17
    Versione Office
    2010
    Likes ricevuti
    0
    Likes dati
    3

    Re: Copiare righe da un foglio all'altro in base ad un valore

    Ecco l'allegato

    Mi serve anche per un'altra parte del file.
    è possibile fare in modo che se è presente solo una femmina nella categoria di inserirla con i maschi?

    La macro si chiama "prova"...
    File Allegati File Allegati

  23. #21

    L'avatar di alfrimpa
    Clicca e Apri
    Data Registrazione
    Dec 2015
    Località
    Napoli
    Età
    64
    Messaggi
    6811
    Versione Office
    2013
    Likes ricevuti
    720
    Likes dati
    165

    Re: Copiare righe da un foglio all'altro in base ad un valore

    Scusa ma perché questa istruzione

    Codice: 
    Set rng = Worksheets("DIVSPR").Range("B14:B" & ir)
    quando i dati cominciano da B2? Quindi va scritto così.

    Codice: 
    Set rng = Worksheets("DIVSPR").Range("B2:B" & ir)
    Vedi che ora funziona tutto.

    Con il VBA ci vuole la massima attenzione; basta un niente per sballare tutto

    Alfredo

    P.S. Ho visto che in colonna B ci sono dati sino alla riga 1494 con tante righe vuote è corretto così? Comunque prova con al correzione che ti ho suggerito e dimmi se i risultati sono corretti.

  24. #22
    L'avatar di lucas22f
    Clicca e Apri
    Data Registrazione
    Jul 2016
    Località
    Ravenna
    Età
    27
    Messaggi
    17
    Versione Office
    2010
    Likes ricevuti
    0
    Likes dati
    3

    Re: Copiare righe da un foglio all'altro in base ad un valore

    Ops, mia distrazione.

    e nel caso che ci fosse solo una femmina e metterla nella categoria maschile si può fare?

  25. #23

    L'avatar di alfrimpa
    Clicca e Apri
    Data Registrazione
    Dec 2015
    Località
    Napoli
    Età
    64
    Messaggi
    6811
    Versione Office
    2013
    Likes ricevuti
    720
    Likes dati
    165

    Re: Copiare righe da un foglio all'altro in base ad un valore

    Citazione Originariamente Scritto da lucas22f Visualizza Messaggio
    e nel caso che ci fosse solo una femmina e metterla nella categoria maschile si può fare?
    Non capisco. Tutto si può fare ma devi essere tu inizialmente a decidere cosa si e cosa no.

    Alfredo

    P.S. Se il file funziona bene io lo lascerei così perché se cominciamo con le eccezioni non la finiamo più.

  26. #24
    L'avatar di lucas22f
    Clicca e Apri
    Data Registrazione
    Jul 2016
    Località
    Ravenna
    Età
    27
    Messaggi
    17
    Versione Office
    2010
    Likes ricevuti
    0
    Likes dati
    3

    Re: Copiare righe da un foglio all'altro in base ad un valore

    ok grazie mille per l'aiuto

Discussioni Simili

  1. Risposte: 2
    Ultimo Messaggio: 28/02/17, 21:47
  2. Copiare dati da un foglio ad un altro
    Di sergiogranero nel forum Domande su Excel VBA e MACRO
    Risposte: 2
    Ultimo Messaggio: 04/12/16, 10:35
  3. [Risolto] copiare in un altro foglio solo le righe con la stessa caratteristica
    Di robertopiro nel forum Domande su Excel VBA e MACRO
    Risposte: 4
    Ultimo Messaggio: 26/11/16, 11:56
  4. Risposte: 6
    Ultimo Messaggio: 23/10/16, 18:02
  5. Risposte: 18
    Ultimo Messaggio: 22/09/16, 02:23

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
  •