Condividi:        

Eliminare righe diverse dalla prima data del mese

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

Eliminare righe diverse dalla prima data del mese

Postdi dipdip » 07/02/25 07:15

Buongiorno a tutti,

non riesco a risolvere un problema con le date in Excel 2021, in pratica da una sequenza di date vorrei evidenziare con il grassetto tutte le righe che corrispondono alla prima data del mese ed eliminare tutte le altre. Attenzione che la prima data del mese non vuol sempre dire il giorno 1 del mese ma può essere il 2, il 3 o qualsiasi altro giorno. Ad esempio della sequenza
01/09/24 *
17/09/24
28/09/24
03/10/24 *
25/10/24
07/11/24 *
mi serve di evidenziare in grassetto e tenere solo le righe che ho segnato con l'asterisco ed eliminare le altre.

Le date si trovano in colonna «A» già ordinate in sequenza cronologica dalla più vecchia alla più recente anche se non tutte presenti (es. di gennaio ho 15 giorni, di febbraio 25, di marzo 4, ...).

Purtroppo non so da che parte iniziare, qualcuno sa aiutarmi per favore?

Grazie.

dipdip
dipdip
Utente Junior
 
Post: 90
Iscritto il: 26/02/14 14:43

Sponsor
 

Re: Eliminare righe diverse dalla prima data del mese

Postdi Raffaele53 » 07/02/25 09:29

Inserisci una riga un A1 ed in B2 metti
Codice: Seleziona tutto
=SE(E(ANNO(A2)=ANNO(A1);MESE(A2)=MESE(A1));"";A2)

e trascina giù. Seleziona colonna B, mouse-destro formatto celle = Data
Raffaele53
Utente Junior
 
Post: 54
Iscritto il: 03/10/24 13:06

Re: Eliminare righe diverse dalla prima data del mese

Postdi dipdip » 07/02/25 14:17

Ciao Raffaele53,

purtroppo non è quello che cerco, quello che mi serve è proprio una macro che analizzi ogni singola riga e decida se va eliminata o tenuta in quanto prima data del mese. La macro tra l'altro si troverebbe su un file differente.

Grazie comunque per la risposta.

dipdip
dipdip
Utente Junior
 
Post: 90
Iscritto il: 26/02/14 14:43

Re: Eliminare righe diverse dalla prima data del mese

Postdi Anthony47 » 07/02/25 16:58

quello che mi serve è proprio una macro che analizzi ogni singola riga e decida se va eliminata o tenuta in quanto prima data del mese
Prova questa macro:
Codice: Seleziona tutto
Sub SoloPrima()
Dim tbK As Range, I As Long, toDate As Date
Dim pMon As Long, cMon As Long, cYear As Long, pYear As Long
'
'<<<<
'
For I = 2 To Cells(Rows.Count, "A").End(xlUp).Row
    toDate = Cells(I, 1).Value
    cMon = Month(toDate)
    cYear = Year(toDate)
    If cMon > pMon Or cYear > pYear Then
        pMon = cMon: pYear = cYear
    Else
        If tbK Is Nothing Then
            Set tbK = Rows(I)
        Else
            Set tbK = Application.Union(tbK, Rows(I))
        End If
    End If
''Debug.Print tbK.Address(0, 0)
Next I
tbK.Delete
End Sub
Non l'hai detto, ma per evitare complicazioni magari inutili ho supposto che le date siano ordinate in modo crescente; se non sono in un ordine noto allora ne dobbiamo riparlare

La macro tra l'altro si troverebbe su un file differente.
Tale codice lavora sul Foglio Attivo; quindi in testa dovrai aggiungere le istruzioni che servono a rendere attivo il File /Foglio da "lavorare"

Inutile dire che prima di provare a cancellare le righe da scartare dovresti fare un paio di copie di backup del foglio originale...
Avatar utente
Anthony47
Moderatore
 
Post: 19575
Iscritto il: 21/03/06 16:03
Località: Ivrea

Re: Eliminare righe diverse dalla prima data del mese

Postdi dipdip » 07/02/25 17:19

Ottimo Anthony, la macro funziona esattamente come dovrebbe, grazie mille.

Le date confermo che sono scritte in ordine ascendente, l'avevo indicato nella mia richiesta ma forse ti è sfuggito:
... ordinate in sequenza cronologica dalla più vecchia alla più recente ...


Grazie ancora, buon weekend!

dipdip
dipdip
Utente Junior
 
Post: 90
Iscritto il: 26/02/14 14:43


Torna a Applicazioni Office Windows


Topic correlati a "Eliminare righe diverse dalla prima data del mese":


Chi c’è in linea

Visitano il forum: Nessuno e 28 ospiti