Copiare riga, condizione cella uguale valore

Anonimo
2023-11-24T15:42:15+00:00

Buongiorno a tutti, ho un problema con il mio file excel, al quale vorrei far riportare tutti i valori di una riga, da un foglio all'altro, se e solo se i valori di una cella prestabilita corrispondono, qualcuno può aiutarmi?

Microsoft 365 e Office | Excel | Per la casa | Windows

Domanda bloccata. Questa domanda è stata eseguita dalla community del supporto tecnico Microsoft. È possibile votare se è utile, ma non è possibile aggiungere commenti o risposte o seguire la domanda.

0 commenti Nessun commento

2 risposte

Ordina per: Più utili
  1. Eleuterio Tedeschi 18,590 Punti di reputazione Moderatore volontario
    2023-11-25T08:15:07+00:00

    Buongiorno a tutti, ho un problema con il mio file excel, al quale vorrei far riportare tutti i valori di una riga, da un foglio all'altro, se e solo se i valori di una cella prestabilita corrispondono, qualcuno può aiutarmi?

    Se non trovi soluzione con quanto suggerito, ti consiglio di specificare meno sinteticamente, magari con un file di esempio, la tua esigenza per risponderti al meglio.

    Ciao.

    La risposta è stata utile?

    0 commenti Nessun commento
  2. Anonimo
    2023-11-24T16:23:50+00:00

    Ciao Paolo,

    Grazie per averci contattato. Sembra che tu voglia copiare un'intera riga da un foglio all'altro in Excel in base a una condizione. A tale scopo, è possibile utilizzare una combinazione di funzioni di Excel o VBA (Visual Basic, Applications Edition). Ti fornirò entrambi i metodi.

    1: Utilizzo delle funzioni di Excel (SE e INDICE/CONFRONTA) Supponendo che i dati si trovino in Foglio1 e che tu voglia copiare l'intera riga in Foglio2 se il valore nella colonna A di Foglio1 corrisponde a un valore predeterminato (ad esempio, "ValoreCondizioneTua"), puoi utilizzare la seguente formula:

    Nella prima cella di Foglio2 in cui si desidera visualizzare il primo valore, immettere la seguente formula:

    =SE(INDICE(Foglio1!$A$1:$Z$100; CONFRONTA("ValoreCondizioneTuo", Foglio1!$A$1:$A 100$; 0), 1) = "ValoreCondizioneTuo", INDICE(Foglio1!$A$1:$Z 100$, CONFRONTA("ValoreCondizioneTuo", Foglio1!$A 1$1:$A 100$, 0), 0), "")

    Trascinare questa formula sulla riga per copiare l'intera riga.

    Assicurati di regolare l'intervallo (Foglio1!$A$1:$Z$100) in base all'intervallo di dati effettivo.

    2: Utilizzo di VBA (Macro) Se si ha dimestichezza con l'utilizzo di VBA, è possibile utilizzare la macro seguente per eseguire la stessa attività:

    -Premere Alt + F11 per aprire l'editor VBA. Inserire un nuovo modulo: Inserisci > modulo. -Copia e incolla il seguente codice nel modulo:

    Sub CopyRowBasedOnCondition() Dim wsSource come foglio di lavoro Dim wsDestination come foglio di lavoro Dim conditionValue As Variant Dim lastRow As Long Dim i Finché

    ' Impostare i fogli di origine e di destinazione Imposta wsSource = ThisWorkbook.Sheets("Foglio1") ' Cambia "Foglio1" con il nome del foglio di origine Imposta wsDestination = ThisWorkbook.Sheets("Foglio2") ' Cambia "Foglio2" con il nome del foglio di destinazione

    ' Impostare il valore della condizione conditionValue = "YourConditionValue" ' Cambia "YourConditionValue" con il valore che stai cercando

    ' Trova l'ultima riga con i dati nel foglio di origine lastRow = wsSource.Cells(wsSource.Rows.Count, "A"). Fine(xlUp). Fila

    ' Scorrere le righe nel foglio di origine Per i = 1 Per lastRow ' Verificare se la condizione è soddisfatta nella colonna A Se wsSource.Cells(i, 1). Valore = condizioneValore Allora ' Copia l'intera riga nel foglio di destinazione wsSource.Rows(i). Copiare wsDestination.Rows(wsDestination.Cells(wsDestination.Rows.Count, "A"). Fine(xlUp). Ferro + 1) Fine se Avanti i Fine sottomarino

    -Chiudi l'editor VBA. -Eseguire la macro: Alt + F8, selezionare CopyRowBasedOnCondition e fare clic su "Esegui".

    Assicurati di modificare i nomi dei fogli ("Foglio1" e "Foglio2"), il valore della condizione e le colonne in base ai tuoi requisiti specifici.

    Spero che questo aiuti.

    Saluti Sola

    Questa risposta è stata tradotta automaticamente. Di conseguenza, potrebbero esserci errori grammaticali o espressioni strane.

    La risposta è stata utile?

    0 commenti Nessun commento