Data OGGI e DOMANI nel codice Macro

enzoboavida

Utente abituale
4 Gennaio 2016
179
18
Napoli
pronopronti.blogspot.com
Excel 2016
0
Ciao a Tutti....

chiedo un aiutino per questa Macro.....

Stupidamente pensavo che registrando una macro in cui col filtro selezionavo la data questa si adattava al giorno presente in elenco.....

pertanto ho bisogno di una modifica che permetta di filtrare le righe che corrispondono alla data di OGGI con una macro e DOMANI con un'altra.

Queste le due macro attuali..... cosa devo inserire o sostituire?

Codice:
Sub OGGI()
'
' OGGI Macro
'


'
    Selection.AutoFilter
    ActiveSheet.ListObjects("Tabella2").Range.AutoFilter Field:=2, Operator:= _
        xlFilterValues, Criteria2:=Array(2, "10/10/2017")
    Range("V15").Select
End Sub
Sub TUTTI()
'
' TUTTI Macro
'


'
    Selection.AutoFilter
    Range("Y11").Select
End Sub
Sub DOMANI()
'
' DOMANI Macro
'


'
    Selection.AutoFilter
    ActiveSheet.ListObjects("Tabella2").Range.AutoFilter Field:=2, Operator:= _
        xlFilterValues, Criteria2:=Array(2, "10/11/2017")
End Sub
Ringrazio per l'attenzione e soluzione,
saluti
Enzo

 

alfrimpa

VBA Expert
Supermoderatore
Expert
18 Dicembre 2015
19.312
713
66
Napoli
2013
356
Enzo quando si scrive del codice sul forum per una migliore leggibilità dello stesso questo va racchiuso tra i TAG CODE (nella finestra di risposta pulsante con il cancelletto).

Stavolta ho provveduto io ma ricordatene per il futuro.
 

Marius44

VBA Expert
Moderatore
Expert
9 Settembre 2015
5.663
83
75
Catania
Excel2010
142
Ciao
ma perchè non alleghi il file (depurando i dati sensibili)?

Ciao,
Mario
 

enzoboavida

Utente abituale
4 Gennaio 2016
179
18
Napoli
pronopronti.blogspot.com
Excel 2016
0
Ciao Mario...

allego sempre i files.... ma in questo caso non posso depurare i dati "sensibili".....
ho ritenuto anche che data la "semplicità".... per gli esperti.... della richiesta non bisognasse di allegare file....

Grazie per l'attenzione,
saluti
Enzo
 

alfrimpa

VBA Expert
Supermoderatore
Expert
18 Dicembre 2015
19.312
713
66
Napoli
2013
356
Enzo il problema non è una questione di "semplicità" o di "esperti".

Il punto è che per testare una macro occorre sempre un file; perchè costringere chi volesse rispondere a doverselo ricreare quando tu lo hai già?
 

enzoboavida

Utente abituale
4 Gennaio 2016
179
18
Napoli
pronopronti.blogspot.com
Excel 2016
0
Ok Alfredo.... capisco!

In questo caso, per mia ignoranza, pensavo che bastava sostituire solo qualche piccola istruzione e non creare tutto il codice.....

Non posso allegare il file in questione.... per motivi personali.

Fa nulla ! .... proverò a trovare una soluzione diversa.

Grazie lo stesso per l'attenzione.

Saluti
 

dracoscrigno

CioccaPiatti & VBA Expert
Expert
1 Maggio 2016
3.901
63
office pro 2010
49
Ora sono al cellulare e non ho nemmeno molto tempo. Comunque:
Per rispondere alla domanda in topic NON SERVE un file.

Serve SOLO conoscere la risposta:

La macro ha una data FISSA al posto di essa devi usare la funzione che restituisce la data odierna formattata come necessario...

Stasera, se non arriva qualcuno prima, vedo di pubblicare...

Per i guru che cercan sempre file:

Basta che prendiate la macro gia esistente e vi cambiate la variabile non "variabile"
 

dracoscrigno

CioccaPiatti & VBA Expert
Expert
1 Maggio 2016
3.901
63
office pro 2010
49
Grazie Dracoscrigno....

attendo la tua soluzione......

Te ne sarei grato!

Saluti
Enzo
la tue macro dicono:

Codice:
Sub OGGI()
'
' OGGI Macro
'


'
    Selection.AutoFilter
    ActiveSheet.ListObjects("Tabella2").Range.AutoFilter Field:=2, Operator:= _
        xlFilterValues, Criteria2:=Array(2, [COLOR=#FF0000][B]"10/10/2017"[/B][/COLOR])
    Range("V15").Select
End Sub
Sub TUTTI()
'
' TUTTI Macro
'


'
    Selection.AutoFilter
    Range("Y11").Select
End Sub
Sub DOMANI()
'
' DOMANI Macro
'


'
    Selection.AutoFilter
    ActiveSheet.ListObjects("Tabella2").Range.AutoFilter Field:=2, Operator:= _
        xlFilterValues, Criteria2:=Array(2, [COLOR=#FF0000][B]"10/11/2017"[/B][/COLOR])
End Sub
le hai registrate... dovrai pur aver intuito dove si trova la data che il filtro utilizzerà?!!


potranno mai, queste due macro, filtrare il quattro febbraio del 2020? Direi proprio di no... Giusto?

ora, una l' hai chiamata Oggi()
Qual' è quella funzione che ti restituisce la data ODIERNA? che n'è più di una... la più semplice da ricordare è Date().
E' sia un tipo di dati che la data odierna, adesso, oggi...

quindi utilizzerai DAte() per sapere che giorno è oggi e date + 1 per sapere che giorno è domani...

Codice:
Sub OGGI()
'
' OGGI Macro
'




'
    ActiveSheet.ListObjects("Tabella2").Range.AutoFilter
    ActiveSheet.ListObjects("Tabella2").Range.AutoFilter Field:=2, Operator:= _
        xlFilterValues, Criteria2:=Array(2, [B][COLOR=#ff0000]Date[/COLOR][/B])
End Sub


Sub Domani()
'
' DOMANI Macro
'




'
    ActiveSheet.ListObjects("Tabella2").Range.AutoFilter
    ActiveSheet.ListObjects("Tabella2").Range.AutoFilter Field:=2, Operator:= _
        xlFilterValues, Criteria2:=Array(2, [COLOR=#ff0000][B]Date + 1[/B][/COLOR])
End Sub

Però ti accorgerai che il filtro non funziona perché la data deve avere il formato americano, originale diciamo.. quindi dovrai formattarla in modo che abbai le sembianze giuste:

Codice:
Sub OGGI()
'
' OGGI Macro
'




'
    ActiveSheet.ListObjects("Tabella2").Range.AutoFilter
    ActiveSheet.ListObjects("Tabella2").Range.AutoFilter Field:=2, Operator:= _
        xlFilterValues, Criteria2:=Array(2, [B][COLOR=#ff0000]Format(Date, "mm/dd/yyyy")[/COLOR][/B])
End Sub


Sub Domani()
'
' DOMANI Macro
'




'
    ActiveSheet.ListObjects("Tabella2").Range.AutoFilter
    ActiveSheet.ListObjects("Tabella2").Range.AutoFilter Field:=2, Operator:= _
        xlFilterValues, Criteria2:=Array(2,[COLOR=#ff0000][B] Format(Date + 1, "mm/dd/yyyy")[/B][/COLOR])
End Sub
 

Sostieni ForumExcel

Aiutaci a sostenere le spese e a mantenere online la community attraverso una libera donazione!