Riporta ultimo prezzo con data più recente

Anonimo
2024-03-28T08:10:08+00:00

Ciao a tutti, avrei necessità di un istruzione VBA:

ho un elenco di costi, dovrei estrarre la riga con la data più recente per ogni variazione di codice; a proposito di esempio: in "Dati" ho indicato i dati da esaminare, nel foglio "Risultato" ho riportato il risultato atteso.
Riuscireste ad aiutarmi?
Grazie

Foglio dati Risultato atteso

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

Eleuterio Tedeschi 18,590 Punti di reputazione Moderatore volontario
2024-03-28T11:06:36+00:00

Grazie, ma con le macro come sarebbe stato?

Sub Filtra() 

Dim lngRow As Long, lngD As Long, rngF As Range, wksD As Worksheet, intC As Integer 

    Set wksD = Worksheets("risultato") 

    wksD.Range("A2:E65000").ClearContents 

    With Worksheets("dati") 

        lngRow = 2 

        Do Until .Cells(lngRow, 1).Value = "" 

            Set rngF = wksD.Range("A2:A65000").Find(.Cells(lngRow, 1).Value) 

            If rngF Is Nothing Then 

                lngD = wksD.Cells(Rows.Count, 1).End(xlUp).Row + 1 

                For intC = 1 To 5 

                    wksD.Cells(lngD, intC).Value = .Cells(lngRow, intC).Value 

                Next intC 

            Else 

                lngD = rngF.Row 

                If wksD.Cells(lngD, 3).Value < .Cells(lngRow, 3).Value Then 

                    For intC = 3 To 5 

                        wksD.Cells(lngD, intC).Value = .Cells(lngRow, intC).Value 

                    Next intC 

                End If 

            End If 

            lngRow = lngRow + 1 

        Loop 

    End With 

End Sub

Ciao.

La risposta è stata utile?

1 persona ha trovato utile questa risposta.
0 commenti Nessun commento

11 risposte aggiuntive

Ordina per: Più utili
  1. Anonimo
    2024-03-28T10:13:35+00:00

    a seguire il link con il file di prova.

    Grazie

    File di prova

    La risposta è stata utile?

    0 commenti Nessun commento
  2. Gianfranco55 25,190 Punti di reputazione Moderatore volontario
    2024-03-28T09:26:53+00:00

    ciao

    devi usare dropbox o similari

    La risposta è stata utile?

    0 commenti Nessun commento
  3. Anonimo
    2024-03-28T09:13:07+00:00

    Ho la versione 2019 di Excel. Uso talvolta le macro più come insieme di comandi che come programmazione vera e propria.

    Alcune volte, consultando il forum, mi imbatto in istruzioni che possono fare al mio caso e riesco ad adattarle, anche "componendone" più di una.

    In questo caso specifico l'istruzione in VBA mi farebbe comodo perchè dovrei poi inserirla in un altro contesto, che comprende altri automatismi.

    ... Scusa la domanda sciocca, come faccio per allegare il file?

    La risposta è stata utile?

    0 commenti Nessun commento
  4. Eleuterio Tedeschi 18,590 Punti di reputazione Moderatore volontario
    2024-03-28T08:13:34+00:00

    Alcune considerazioni:
    . se è necessario, per te, VBA (che livello di conoscenza hai?), meglio se condividi il file per contestualizzare la soluzione;
    . si fa tranquillamente con le formule, ma è utile conoscere la tua versione per usarne di specifiche;

    . ancora meglio farlo con Power Pivot o Power Query, basta trasformare l'intervallo dati in tabella.

    Ciao.

    La risposta è stata utile?

    0 commenti Nessun commento