Ciao, mi intrometto perche' ho l' impressione che il criterio suggerito da Alfredo, oggi selezionera' solo coloro che hanno la data di nascita pari a oggi, e non anche coloro che oggi compiono gli anni.
Io lo farei con una colonna di appoggio e poi con macro autoregistrata che sposta su Foglio2 quanto filtrato su Foglio1.
All' uopo:
-supponiamo che le date di nascita siano in colonna A e che la colonna M sia libera e possa essere usata come colonna di appoggio.
-in M2 calcola quanti giorni mancano al prossimo compleanno con la formula
- Codice: Seleziona tutto
=SE(A2="";"";SE(DATA(ANNO(OGGI());MESE(A2);GIORNO(A2))<OGGI();DATA(ANNO(OGGI())+1;MESE(A2);GIORNO(A2))-OGGI();DATA(ANNO(OGGI());MESE(A2);GIORNO(A2))-OGGI()))
(scusate, ho provato a semplificarla ma mi veniva piu' incasinata)
-copia M2 verso il basso per coprire certamente tutta la lunghezza dell' elenco che sara' contenuto nel foglio; si puo' esagerare.
A questo punto interviene la macro autoregistrata; solo che invece di spiegare come va registrata e come va poi modificata mi e' piu' semplice allegarne il codice, che e' questo:
- Codice: Seleziona tutto
Sub BDay()
Sheets("Foglio1").Select '<<< Foglio1 contiene l'anagrafica
Columns("M:M").AutoFilter
ActiveSheet.Range("$M:$M").AutoFilter Field:=1, Criteria1:="=0"
Range("A:M").Copy Destination:=Sheets("Foglio2").Range("A1") '<<< Foglio2 e' la destinazione
Application.CutCopyMode = False
ActiveSheet.Range("$M:$M").AutoFilter Field:=1
Range("A1").Select
Sheets("Foglio2").Select
Range("A1").Select
End Sub
Come si usa:
-da Excel, premere Alt-F11 per aprire l' editor delle macro
-Menu /inserisci /Modulo
-copia il codice e incollalo nel frame di dx del modulo appena creato
-personalizza le righe marcate <<<
Torna su Excel ed esegui la macro BDay:
-premi Alt-F8, scegli BDay dall' elenco di macro disponibili, premi Esegui
Eventualmente crei su Foglio1 un pulsante e gli associ la macro BDay, cosi' bastera' premere il pulsante per avere in Foglio2 l' elenco aggiornato.
Nota che in Foglio2 le colonne che vengono copiate da Foglio1 (A:M, nell' esempio) saranno
completamente cancellate senza preavviso; quindi non mettere formule o altri dati "sotto" l' elenco perche' non li troverai piu'; eventualmente usa le colonne a destra dell' elenco.
Segnalo la possibilita' di modificare il filtro per ottenere risultati piu' ampi; ad esempio se invece di
Criteria1:="=0" usassi
Criteria1:="<7" potresti ottenere l' elenco di quelli che compiono gli anni oggi o entro i prossimi 7 giorni.
Ciao