Estrarre da un elenco ordinato, usato come convalida dati un elenco contenente solo le voci efettivamente utilizzate

Anonimo
2010-10-21T11:33:42+00:00

Mi spiego meglio: se io ho una lista di tutti i conti usati in contabilità da una S.p.a. nella colonna "A"(elenco con più di 300 elementi). Adesso nella colonna "B" usando formule come "SE" e "CERCA.SE" vado a trascrivermi solo i conti che ho utilizzato nella risoluzione di un certo esercizio(fatta sempre con excel) e così mi viene un elenco con alcune celle vuote poiché è difficile che io usi tutti i conti. Fino a qui nessun problema, però vorrei ad esempio nella colonna "C" l'elenco della colonna "B" ma senza celle vuote. Esempio:

|_____A______|_______B_______|______C______|

|Prodotti______|Prodotti_________|Prodotti_______|

|Semilavorati__|_______________|Materiale______|

|Materiale ____|Materiale ________|_____________|

Per favore risposte serie.... A chi è davvero interessato ad aiutarmi potrei anche mandare il file di Excel

In altre parole vorrei creare una funzione del tipo ElencoSenzaSpazzi(Elenco_di_partenza;Elenco_valori_accettati;Valore_accettato_numero)

così in "C1" avreì la formula "=ElencoSenzaSpazzi($B$1:$B$10;$A$1:$A$10;1), in "C2" la stessa formula ma invece di 1 come terzo parametro metto 2 così da restiotuirmi il secondo valore che trova e non sempre il primo

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

Risposta accettata dall'autore della domanda

Anonimo
2010-10-21T16:56:34+00:00

Provo a spiegarmi meglio: come avrà notato nella colonna J io ho una lista di tutti i conti possibili per un impresa sotto forma di Spa, mentre nella colonna C con l'aiuto della convalida uso alcuni dei conti per aggiungerci dei valori(in poche parole svolgo l'esercizio). E fin qua spero di essere stato chiaro. Nella colonna L io vorrei che venisse generato automaticamente una lista contenente SOLO i conti utilizzati per svolgere l'esercizio cioè quelle della colonna C. Detto in altre parole io voglio un elenco delle voci che sono contenute sia nella colonna C e sia nella colonna J e questo senza doppioni.... gli importi non mi interessano per ora e comunque non penso siano un problema, quello che invece ho difficolta a gestire sono in genere le stringhe

Qui ci diamo del tu. Scusa, ma non mi è proprio chiaro quello che vuoi. Questa macro, da copia/incollarenel modulo di codice del foglio dove hai i dati, farebbe quanto chiedi:

Private Sub Worksheet_Change(ByVal Target As Range)

    Dim rng As Range

    Dim lRiga As Long

    Dim s As String

    On Error Resume Next

    Set rng = Me.Range("C3:C57")

    If Not Intersect(Target, rng) Is Nothing Then

        lRiga = Range("L" & Rows.Count).End(xlUp).Row

        s = "=COUNTIF(L1:L" & lRiga & "," & Target.Address & ")"

        If Evaluate(s) < 1 Then

            Me.Range("L" & lRiga + 1).Value = Target.Value

        End If

    End If

    Set rng = Nothing

End Sub

Dovresti partire con la colonna C vuota e man mano selezioni un valore, lo riporto in colonna L se non già presente nella stessa.

Diventa difficile dare supporto se non è chiaro l'obiettivo. E il tuo, almeno per me, non lo è. Prova comunque quanto ho postato e, sempre in questo thread, andiamo avanti. Grazie per la pazienza.


--

La soluzione, il codice ed i files sono forniti *così come sono* e l’autore declina ogni responsabilità per eventuali problemi causati dalla soluzione proposta se usata impropriamente. Create e utilizzate una copia del file per le vostre prove, *prima* di utilizzare la soluzione in files importanti.

--

Mauro Gamberini - Microsoft© MVP(Excel)

http://www.maurogsc.eu/

La risposta è stata utile?

0 commenti Nessun commento

5 risposte aggiuntive

Ordina per: Più utili
  1. Anonimo
    2010-10-21T16:21:44+00:00

    Ho caricato il file su skydrive nella cartella condivisa Excel scusate l'ignoranza ma adesso non so esattamente cosa devo postare per farvi arrivare al file il link che ho nella barra indirizzi è:http://cid-3b490e2843bc5a0f.office.live.com/browse.aspx/Excel .

    Adesso provo a spiegare cosa voglio ottenere esattamente è avere nella colonna L un elenco solo di quei conti che vado efettivamente ad utilizzare nella colonna C(senza doppioni ovviamente). L'idea di utilizzare delle macro non è male con un paio di cicli for nidificati ce la dovrei fare il problema è che non sono proprio pratico di visual basic come linguaggio di programmazione e quindi neanche dello scriptdi excel, potete darmi una mano GRAZIE!

    ovviamente do il permesso di usare liberamente il file da me pubblicato ma non mi assumo nessuna resposnabilità per eventuali danni o uso improprio del file stesso

    Scusa ma non ho capito. Io seleziono un valore in una cella della colonna C e lella colonna N cosa devo mettere? Dove sono i dati relativi a quella voce? Se seleziono in C3: Indennizzi da assicurazioni, il L (dove, L3?) cosa devo vedere? Grazie.

    Aggiungo(ma ripeto che non ho capito) che se quello che vuoi in L è vedere la differenza fra dare/avere di ciscuna voce di J, metti questa formula im L3 ed espandila verso il basso:

    =SOMMA.SE($C$3:$D$57;J3;$E$3:$E$57)-SOMMA.SE($C$3:$D$57;J1;$D$3:$D$57)

    Se gli zeri danno fastidio, formatta di conseguenza la colonna.

     


     

    --

    La soluzione, il codice ed i files sono forniti *così come sono* e l’autore declina ogni responsabilità per eventuali problemi causati dalla soluzione proposta se usata impropriamente. Create e utilizzate una copia del file per le vostre prove, *prima* di utilizzare la soluzione in files importanti.

    --

    Mauro Gamberini - Microsoft© MVP(Excel)

    http://www.maurogsc.eu/

    Provo a spiegarmi meglio: come avrà notato nella colonna J io ho una lista di tutti i conti possibili per un impresa sotto forma di Spa, mentre nella colonna C con l'aiuto della convalida uso alcuni dei conti per aggiungerci dei valori(in poche parole svolgo l'esercizio). E fin qua spero di essere stato chiaro. Nella colonna L io vorrei che venisse generato automaticamente una lista contenente SOLO i conti utilizzati per svolgere l'esercizio cioè quelle della colonna C. Detto in altre parole io voglio un elenco delle voci che sono contenute sia nella colonna C e sia nella colonna J e questo senza doppioni.... gli importi non mi interessano per ora e comunque non penso siano un problema, quello che invece ho difficolta a gestire sono in genere le stringhe

    La risposta è stata utile?

    0 commenti Nessun commento
  2. Anonimo
    2010-10-21T14:57:35+00:00

    Ho caricato il file su skydrive nella cartella condivisa Excel scusate l'ignoranza ma adesso non so esattamente cosa devo postare per farvi arrivare al file il link che ho nella barra indirizzi è:http://cid-3b490e2843bc5a0f.office.live.com/browse.aspx/Excel .

    Adesso provo a spiegare cosa voglio ottenere esattamente è avere nella colonna L un elenco solo di quei conti che vado efettivamente ad utilizzare nella colonna C(senza doppioni ovviamente). L'idea di utilizzare delle macro non è male con un paio di cicli for nidificati ce la dovrei fare il problema è che non sono proprio pratico di visual basic come linguaggio di programmazione e quindi neanche dello scriptdi excel, potete darmi una mano GRAZIE!

    ovviamente do il permesso di usare liberamente il file da me pubblicato ma non mi assumo nessuna resposnabilità per eventuali danni o uso improprio del file stesso

    Scusa ma non ho capito. Io seleziono un valore in una cella della colonna C e lella colonna N cosa devo mettere? Dove sono i dati relativi a quella voce? Se seleziono in C3: Indennizzi da assicurazioni, il L (dove, L3?) cosa devo vedere? Grazie.

    Aggiungo(ma ripeto che non ho capito) che se quello che vuoi in L è vedere la differenza fra dare/avere di ciscuna voce di J, metti questa formula im L3 ed espandila verso il basso:

    =SOMMA.SE($C$3:$D$57;J3;$E$3:$E$57)-SOMMA.SE($C$3:$D$57;J1;$D$3:$D$57)

    Se gli zeri danno fastidio, formatta di conseguenza la colonna.


    --

    La soluzione, il codice ed i files sono forniti *così come sono* e l’autore declina ogni responsabilità per eventuali problemi causati dalla soluzione proposta se usata impropriamente. Create e utilizzate una copia del file per le vostre prove, *prima* di utilizzare la soluzione in files importanti.

    --

    Mauro Gamberini - Microsoft© MVP(Excel)

    http://www.maurogsc.eu/

    La risposta è stata utile?

    0 commenti Nessun commento
  3. Anonimo
    2010-10-21T13:48:58+00:00

    Ho caricato il file su skydrive nella cartella condivisa Excel scusate l'ignoranza ma adesso non so esattamente cosa devo postare per farvi arrivare al file il link che ho nella barra indirizzi è:http://cid-3b490e2843bc5a0f.office.live.com/browse.aspx/Excel .

    Adesso provo a spiegare cosa voglio ottenere esattamente è avere nella colonna L un elenco solo di quei conti che vado efettivamente ad utilizzare nella colonna C(senza doppioni ovviamente). L'idea di utilizzare delle macro non è male con un paio di cicli for nidificati ce la dovrei fare il problema è che non sono proprio pratico di visual basic come linguaggio di programmazione e quindi neanche dello scriptdi excel, potete darmi una mano GRAZIE!

    ovviamente do il permesso di usare liberamente il file da me pubblicato ma non mi assumo nessuna resposnabilità per eventuali danni o uso improprio del file stesso

    La risposta è stata utile?

    0 commenti Nessun commento
  4. Anonimo
    2010-10-21T12:28:12+00:00

    Mi spiego meglio: se io ho una lista di tutti i conti usati in contabilità da una S.p.a. nella colonna "A"(elenco con più di 300 elementi). Adesso nella colonna "B" usando formule come "SE" e "CERCA.SE" vado a trascrivermi solo i conti che ho utilizzato nella risoluzione di un certo esercizio(fatta sempre con excel) e così mi viene un elenco con alcune celle vuote poiché è difficile che io usi tutti i conti. Fino a qui nessun problema, però vorrei ad esempio nella colonna "C" l'elenco della colonna "B" ma senza celle vuote. Esempio:

    |_____A______|_______B_______|______C______|

    |Prodotti______|Prodotti_________|Prodotti_______|

    |Semilavorati__|_______________|Materiale______|

    |Materiale ____|Materiale ________|_____________|

    Per favore risposte serie.... A chi è davvero interessato ad aiutarmi potrei anche mandare il file di Excel

    In altre parole vorrei creare una funzione del tipo ElencoSenzaSpazzi(Elenco_di_partenza;Elenco_valori_accettati;Valore_accettato_numero)

    così in "C1" avreì la formula "=ElencoSenzaSpazzi($B$1:$B$10;$A$1:$A$10;1), in "C2" la stessa formula ma invece di 1 come terzo parametro metto 2 così da restiotuirmi il secondo valore che trova e non sempre il primo

    Qui si risponde *sempre* seriamente. Puoi condividere il tuo file qui: http://explore.live.com/windows-live-skydrive?wa=wsignin1.0 . Spiega però meglio cosa vuoi ottenere in base ai dati che troveremo sul file. Il problema si potrebbe risolve comunque con una macro. Grazie per l'attenzione.


    --

    La soluzione, il codice ed i files sono forniti *così come sono* e l’autore declina ogni responsabilità per eventuali problemi causati dalla soluzione proposta se usata impropriamente. Create e utilizzate una copia del file per le vostre prove, *prima* di utilizzare la soluzione in files importanti.

    --

    Mauro Gamberini - Microsoft© MVP(Excel)

    http://www.maurogsc.eu/

    La risposta è stata utile?

    0 commenti Nessun commento