Pagina precedente | 1 | Pagina successiva
Vota | Stampa | Notifica email    
Autore

Copiare righe solo se è presente una parlo nella colonna x

Ultimo Aggiornamento: 18/10/2017 18:41
Post: 1
Registrato il: 17/10/2005
Città: ACCIANO
Età: 40
Utente Junior
2016
OFFLINE
13/10/2017 17:13

Ciao a tutti sicuramente per voi è un gioco da ragazzi ma io stò andando fuori di testa.

Ho un foglio excel generato da una raccolta dati online mondiale.

Ho circa 10000 righe e su ogni righa ho circa 8/9 colonne dove ognuna c'è un dato diverso

Il mio obbiettivo è il seguente :


SE nelle colonna B c'è scritto "Male" copiare l'intera riga nel e foglio 2
SE nelle colonna C c'è scritto "Italy" copiare l'intera riga nel e foglio 3

Spero di essermi spiegato.

Grazie
Post: 275
Registrato il: 31/01/2010
Città: LIVORNO
Età: 61
Utente Junior
2016
OFFLINE
13/10/2017 17:18

Allega il file cosi ti possiamo aiutare

grazie







--------------
Marco
excel 2013
Post: 1
Registrato il: 17/10/2005
Città: ACCIANO
Età: 40
Utente Junior
2016
OFFLINE
13/10/2017 17:39

purtroppo il file non posso allegarlo in quanto ci sono dei dati sensibili

       A             B               C             D
1 LUCA ITALIA SPOSATO GENOVA
2 LAURN BULGARIA SINGLE SHOPIA
3 MARTA ITALIA SINGLE ROMA


Ho cercato di ricreare l'impostazione
Post: 2
Registrato il: 17/10/2005
Città: ACCIANO
Età: 40
Utente Junior
2016
OFFLINE
13/10/2017 18:22

Ho creato un file di esempio.

In questo caso la regola dovrebbe essere

SE nella colonna B c'è scritto male copia la riga nel foglio 2
SE nella colonna D c'è scritto italy copia la riga nel foglio 3
SE nella colonna B c'è scritto male e nella colonna D c'è scritto italy copia la riga nel foglio 4


Grazie mille
Post: 564
Registrato il: 16/08/2015
Città: CORDENONS
Età: 67
Utente Senior
Excel 2016-32bit Win11
OFFLINE
14/10/2017 14:26

Metti questa mia macro in un modulo VBA e vedi se fa al caso tuo:
Option Explicit

Sub Smista_Righe()

    Dim nr As Long
    Dim x As Long
    
    nr = Sheets("Foglio1").Cells(Rows.Count, 1).End(xlUp).Row
    For x = 1 To nr
        If LCase(Trim(Cells(x, 2))) = "male" And LCase(Trim(Cells(x, 4))) = "italy" Then
            Sheets("Foglio1").Range("A" & x).EntireRow.Copy Sheets("Foglio4").Cells(Rows.Count, 1).End(xlUp).Offset(1)
            ElseIf LCase(Trim(Cells(x, 2))) = "male" Then Sheets("Foglio1").Range("A" & x).EntireRow.Copy Sheets("Foglio2").Cells(Rows.Count, 1).End(xlUp).Offset(1)
            ElseIf LCase(Trim(Cells(x, 4))) = "italy" Then Sheets("Foglio1").Range("A" & x).EntireRow.Copy Sheets("Foglio3").Cells(Rows.Count, 1).End(xlUp).Offset(1)
        End If
    Next x
    MsgBox "Elaborazione completata"
    
End Sub

______________________________________________________________
C'è chi fa le COSE a CASO e chi fa CASO alle COSE (Ignoto)
Post: 3
Registrato il: 17/10/2005
Città: ACCIANO
Età: 40
Utente Junior
2016
OFFLINE
16/10/2017 16:30

Grazie , funziona perfettamente.
Se volessi aggiungere un ulteriore regola come

SE nella colonna 4 c'è Italy o France copia l'intera riga nel foglio 4?

Grazie infinite già va benissimo cosi
Post: 572
Registrato il: 16/08/2015
Città: CORDENONS
Età: 67
Utente Senior
Excel 2016-32bit Win11
OFFLINE
16/10/2017 22:19

Secondo me devi indicare con più precisione le combinazioni, ovvero, quest'ultima richiesta è (parzialmente) in contrasto con la precedente in quanto prima hai detto:

SE nella colonna D c'è scritto italy copia la riga nel foglio 3

mentre ora dici:

SE nella colonna D c'è Italy o France copia l'intera riga nel foglio 4

da cui evinco che se in colonna D c'è italy bisogna copiare l'intera riga sia nel Foglio 3 che nel Foglio 4, ed in più, copiarla nel Foglio 4 anche quando c'è france.

______________________________________________________________
C'è chi fa le COSE a CASO e chi fa CASO alle COSE (Ignoto)
Post: 4
Registrato il: 17/10/2005
Città: ACCIANO
Età: 40
Utente Junior
2016
OFFLINE
18/10/2017 11:58

Hai ragione scusami ho confuso le colonne

Le regole che vorrei apllicare sarebbero

SE nella colonna B c'è scritto male copia la riga nel foglio 2
SE nella colonna D c'è scritto italy copia la riga nel foglio 3
SE nella colonna B c'è scritto male e nella colonna D c'è scritto italy copia la riga nel foglio 4
SE nella colonna D c'è scritto italy O France O Spagna copia la riga nel foglio 5

Grazie
Post: 579
Registrato il: 16/08/2015
Città: CORDENONS
Età: 67
Utente Senior
Excel 2016-32bit Win11
OFFLINE
18/10/2017 18:41

Riepilogando (sì perché la cosa poi diventa ardua).
Esempio: se una determinata riga soddisfa entrambe queste condizioni:
in colonna B c'è male ed in colonna D c'è italy
in questo caso la riga intera va copiata in ben 4 fogli, ovvero, nel 2, 3, 4 e 5, giusto ?
Altro esempio:
se nella colonna B c'è female ma in colonna D c'è italy
in questo caso l'intera riga va copia in 2 fogli, ovvero, nel 3 e 5, giusto ?
O alcune combinazioni sono vincolanti e si copia sempre in un solo foglio ? senza considerare eventuali ulteriori combinazioni ?
... altrimenti mi sono perso [SM=x423021]

______________________________________________________________
C'è chi fa le COSE a CASO e chi fa CASO alle COSE (Ignoto)
Vota:
Amministra Discussione: | Chiudi | Sposta | Cancella | Modifica | Notifica email Pagina precedente | 1 | Pagina successiva
Nuova Discussione
 | 
Rispondi
Feed | Forum | Bacheca | Album | Utenti | Cerca | Login | Registrati | Amministra
Tutti gli orari sono GMT+01:00. Adesso sono le 22:14. Versione: Stampabile | Mobile | Regolamento | Privacy
FreeForumZone [v.6.1] - Copyright © 2000-2024 FFZ srl - www.freeforumzone.com