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

COPIA SOLO SE VALORE CELLA X=Y

Ultimo Aggiornamento: 03/05/2017 18:23
Post: 1
Registrato il: 03/05/2017
Città: ANDREIS
Età: 37
Utente Junior
OFFLINE
03/05/2017 16:22

Ciao a tutti,
sono nuova del forum e sto impazzendo con un file excel senza trovare la soluzione anche perchè non sono in grado di usare le macro...
Volevo chiedervi come si fa a fare questa cosa:
Ho un foglio (foglio1) con un elenco di prodotti con varie caratteristiche che occupano più colonne, devo copiare su un altro foglio (foglio3) solo le righe che riportano nell'ultima colonna una dicitura ("DA SCARICARE").
Da ignorante riesco a copiare con la formula
=SE(Foglio1.$K$3="DA SCARICARE";Foglio1.A3;"")
Ma chiaramente mi ritrovo con un sacco di righe vuote tra una riga interessante e l'altra...
come devo fare? HELP [SM=x423017]
P.S. HO PROVATO A VEDERE LE ALTRE RICHIESTE SIMILI MA NON SONO RIUSCITA A COMBINARE...
[Modificato da Ghiraffa 03/05/2017 16:23]
Post: 3.155
Registrato il: 21/06/2013
Città: NAPOLI
Età: 70
Utente Master
Excel 365
ONLINE
03/05/2017 16:29

Ciao Veronica

Puoi allegare un file di esempio con i dati (non sensibili), spiegazione e risultato desiderato inserito a mano?

A naso non posso darti rassicurazioni che si riescano ad evitare le macro.

P.S. Rileggendo meglio la tua richiesta penso proprio che senza macro non si possa fare; attendo il file.
[Modificato da alfrimpa 03/05/2017 16:30]

Alfredo
Post: 1.247
Registrato il: 06/04/2013
Utente Veteran
2010
OFFLINE
03/05/2017 17:07

Ciao
supponendo che nel foglio1 i valori partano dalla riga 1 e vuoi copiare in foglio2 a partire sempre da riga1:

in foglio2, A1:

=SE.ERRORE(INDICE(Foglio1!A:A;PICCOLO(SE(Foglio1!$E$1:$E$6="da scaricare";RIF.RIGA(Foglio1!$A$1:$A$6));RIF.RIGA()-RIF.RIGA(Foglio1!$A$1)+1));"")


Attenzione all'uguaglianza dei range ($E$6 e $A$6).

MATRICIALE

Da adattare alle tue esigenze

saluti

Domenico
Win 10 - Excel 2016
Post: 3.156
Registrato il: 21/06/2013
Città: NAPOLI
Età: 70
Utente Master
Excel 365
ONLINE
03/05/2017 17:28

Bravo Domenico io con le formule sono una capra [SM=g27828]

Magari quando avremo il file proporrò anche una soluzione con macro.
[Modificato da alfrimpa 03/05/2017 17:30]

Alfredo
Post: 3.157
Registrato il: 21/06/2013
Città: NAPOLI
Età: 70
Utente Master
Excel 365
ONLINE
03/05/2017 17:50

Ciao Veronica

Ecco la mia proposta.

Questa macro associata al pulsante "Archivia" sul foglio1 fa quello che hai chiesto indipendentemente dalla lunghezza dei dati in colonna A.

vb
Sub Archivia()
Dim ur As Long
Dim lr As Long
Dim rng As Range
Dim cel As Range
ur = Sheets("Foglio1").Cells(Rows.Count, 1).End(xlUp).Row
Set rng = Range("a2:a" & ur)
For Each cel In rng
lr = Sheets("Foglio2").Cells(Rows.Count, 1).End(xlUp).Row
    If cel.Offset(0, 1).Value = "da scaricare" Then
        Sheets("Foglio2").Cells(lr + 1, 1).Value = cel.Value
    End If
Next cel
End Sub


Ovviamente se ci fai avere un tuo file di esempio strutturalmente uguale al tuoi reale poteremmo eventualmente correggerla.

Ti allego il file.
[Modificato da alfrimpa 03/05/2017 17:51]

Alfredo
Post: 1
Registrato il: 03/05/2017
Città: ANDREIS
Età: 37
Utente Junior
OFFLINE
03/05/2017 18:23

Caspita, siete dei missili!
Grazie a tutti intanto, stasera preparo un file esempio e lo posto, intanto proverò i primi suggerimenti. Per adesso grazie mille!
Vota:
Amministra Discussione: | Chiudi | Sposta | Cancella | Modifica | Notifica email Pagina precedente | 1 | Pagina successiva
Nuova Discussione
 | 
Rispondi
Cerca nel forum
Tag discussione
Discussioni Simili   [vedi tutte]
Feed | Forum | Bacheca | Album | Utenti | Cerca | Login | Registrati | Amministra
Tutti gli orari sono GMT+01:00. Adesso sono le 19:34. Versione: Stampabile | Mobile | Regolamento | Privacy
FreeForumZone [v.6.1] - Copyright © 2000-2024 FFZ srl - www.freeforumzone.com