Valutazione 4.87/ 5 (100.00%) 5838 voti

Condividi:        

Copiare righe in base ad un criterio selezionato

Vuoi potenziare i tuoi documenti Word? Non sai come si fa una macro in Excel? Devi creare una presentazione in PowerPoint?
Oppure sei passato a OpenOffice e non sei sicuro di come lavorare al meglio?

Moderatori: Anthony47, Flash30005

Copiare righe in base ad un criterio selezionato

Postdi massimilianocarrara » 10/03/16 16:37

Salve a tutti,
avrei una esigenza: da una tabella (Foglio1) vorrei copiare le righe che nelle celle di colonna B hanno il valore uguale al valore immesso nella cella A1.
Queste righe devono essere copiate nel Foglio2.
Sotto intendo che il valore di cella A1 può cambiare di volta in volta.
Nel momento in cui immetto un nuovo valore in cella A1 (nuova estrapolazione di dati) tutte le righe del Foglio2 devono essere cancellate.
Grazie 1000 a tutti

Di seguito un esempio della "cosa" le righe in questione sono quelle che hanno il valore "AAV" cioè le righe 5, 9 e 14:


1 AAV Sample Acq Time Total Dilution Be / 9 [#1]
2 Bianco-A+20ppb istd 2 Mar 2016 02:29 pm 1.000 0.12
3 bianco3+20ppb istd 2 Mar 2016 12:48 pm 1.000 0.15
4 Blk-Cess+20ppb istd 2 Mar 2016 01:39 pm 1.000 -0.02
5 AAV 2 Mar 2016 01:45 pm 1.000 -0.03
6 C-087+20ppb istd 2 Mar 2016 01:58 pm 1.000 -0.03
7 C-088+20ppb istd 2 Mar 2016 02:04 pm 1.000 -0.03
8 C-089+20ppb istd 2 Mar 2016 02:10 pm 1.000 -0.03
9 AAV 2 Mar 2016 02:35 pm 1.000 19.52
10 ICS+20ppb istd 2 Mar 2016 11:52 am 1.000 0.00
11 ICV+20ppb istd 2 Mar 2016 12:55 pm 1.000 20.06
12 LCS+20ppb istd 2 Mar 2016 01:14 pm 1.000 0,422222222
13 LLICV+20ppb istd 2 Mar 2016 01:01 pm 1.000 1.05
14 AAV 2 Mar 2016 01:07 pm 1.000 0,808333333
15 std2+20ppb istd 2 Mar 2016 12:17 pm 1.000 0,091666667
massimilianocarrara
Newbie
 
Post: 1
Iscritto il: 10/03/16 16:21

Sponsor
 

Re: Copiare righe in base ad un criterio selezionato

Postdi ricky53 » 10/03/16 16:50

Ciao,
prima di tutto benvenuto nel nostro forum.

I dati in quali colonne si trovano?
Da come li hai riportati sembra che siano in una sola colonna. E' così?

Il dato che scrivi in "A1" deve essere presente nei primi caratteri del contenuto delle celle della colonna "B"?
Oppure può essere contenuto in una qualunque posizione della stringa contenuta nelle celle della colonna "B"?
Dice il vecchio saggio provare e riprovare è l'unica strada per imparare

Più chiara è la vostra spiegazione
Più immediata sarà la nostra soluzione


. . . . . . . . . .
S.O. W7; Office 2003-10-13-16
Avatar utente
ricky53
Utente Senior
 
Post: 4223
Iscritto il: 11/04/09 19:29
Località: Italia

Re: Copiare righe in base ad un criterio selezionato

Postdi alfrimpa » 10/03/16 16:51

Ciao Massimiliano

Allega un piccolo file con di esempio con i dati visto che ce l'hai già per far delle prove.
Alfredo

Win7 + Office 2007
Avatar utente
alfrimpa
Utente Senior
 
Post: 841
Iscritto il: 30/12/13 17:01
Località: Napoli

Re: Copiare righe in base ad un criterio selezionato

Postdi ricky53 » 10/03/16 16:53

Ciao,
ed indica che versione di Office utilizzi.
Dice il vecchio saggio provare e riprovare è l'unica strada per imparare

Più chiara è la vostra spiegazione
Più immediata sarà la nostra soluzione


. . . . . . . . . .
S.O. W7; Office 2003-10-13-16
Avatar utente
ricky53
Utente Senior
 
Post: 4223
Iscritto il: 11/04/09 19:29
Località: Italia

Re: Copiare righe in base ad un criterio selezionato

Postdi Anthony47 » 12/03/16 01:24

Forse abbiamo spaventato il nostro nuovo visitatore...
Per invogliarlo a farsi vivo gli propongo questa ipotesi di soluzione:
-tasto dx sul tab col nome del foglio dove e' presente la sua tabella di origine; scegli Visualizza codice; s aprira' l'editor dell macro.
-copia il codice seguente e incollalo nel frame vuoto di dx dell'editor delle macro
Codice: Seleziona tutto
Private Sub Worksheet_Change(ByVal Target As Range)
Dim wArr(), LastB As Long, myCol As String, I As Long, J As Long, K As Long
Dim myVal, myCell As Range
'
If Target.Address = "$A$1" Then
    myCol = "B1:G1"         '<<< Le colonne da copiare, in questa sintassi
    Dest = "Foglio2"        '<<< Il foglio dove si copiera' l'elenco filtrato
'
    LastB = Cells(Rows.Count, 2).End(xlUp).Row
    ReDim wArr(1 To LastB, 1 To Range(myCol).Columns.Count)
    myVal = UCase(Range("A1").Value)
'
    For I = 2 To LastB
        J = 0
        If UCase(Cells(I, 2)) = myVal Then
            K = K + 1
            For Each myCell In Range(myCol).Offset(I - 1, 0)
                J = J + 1
                wArr(K, J) = myCell.Value
            Next myCell
        End If
    Next I
    Sheets(Dest).Range(myCol).Resize(LastB).Value = wArr
'    MsgBox ("Completato")
End If
End Sub

Le righe marcate <<< sono da personalizzare.

Poi torna su Excel alla tua tabella di origine e prova a modificare il contenuto della cella A1.

NB: Il foglio dichiarato "Dest" (Destinazione) all'interno della macro sara' modificato senza preavviso, quindi non usarlo per inserirci altre informazioni.

E' un esempio di cosa si puo' fare e immagino che non fara' esattamente quello che avevi in mente.
Per completare il lavoro ci aiutera' un file di esempio dei tuoi dati. Per le istruzioni su come allegare un file:
viewtopic.php?f=26&t=103893&p=605487#p605487

Ciao
Anthony
Win7 + Office 2010 Ita; Win 7 + Office 2013 Ita
Xp + Office 2003 Ita
E voi cosa usate? (per istruzioni vedere viewtopic.php?f=26&t=97449)
Avatar utente
Anthony47
Moderatore
 
Post: 13899
Iscritto il: 21/03/06 16:03
Località: Ivrea


Torna a Applicazioni Office Windows


Topic correlati a "Copiare righe in base ad un criterio selezionato":


Chi c’è in linea

Visitano il forum: Nessuno e 10 ospiti