La consultazione del forum è libera per tutti.
Per poter porre un quesito è invece necessario essere un utente registrato (clicca qui se non lo sei).
Tutti gli utenti che richiedono un supporto, come da REGOLAMENTO, sono caldamente invitati ad allegare un file di esempio con l'indicazione di quello che si desidera ottenere.
Buongiorno, ormai ho capito che lavorare sulle date tramite VBA sara' il mio inferno quotidiano...infatti eccomi qui con un altro fastidiosissimo problema.
Comincio a postarVi il codice, che non e' altro se non credo la ventesima stesura che ne sto facendo, poi Vi dico cosa vorrei che facesse:
Range("D3").Select Range(Selection, Selection.End(xlDown)).Select Selection.NumberFormat = "dd/mm/yy" GG = Application.InputBox("GIORNO gg/mm/aa", Title:="RICHIESTA RIFERIMENTO", Default:="RIF.", Type:=1) Application.ScreenUpdating = False Range("$A$3:$T$138").EntireRow.Hidden = False ActiveSheet.Range("$A$3:$T$138").AutoFilter Field:=4, Operator:= _ xlFilterValues, Criteria1:=Array(2, "GG") 'Criteria2:=Array(2, "6/21/2021") Application.ScreenUpdating = True 'Application.ScreenUpdating = False Range("$A$3:$T$138").EntireRow.Hidden = False
...in teoria dovrebbe:
1. formattare la colonna D con il formato data prescelto (e lo fa)
2. visualizzare una inputbox dove richieda la data da filtrare nella colonna D (e lo fa)
3. filtrare la colonna D in base alla data inserita nell'inbox -> e qui casca l'asino (cioe' io) perche' ovviamente non mi filtra assolutamente nulla blankandomi i dati dell'intero foglio (se sfiltro a mano me li fa ricomparire).
...ho provato a formattare ed inserire le date nella inputbox in ogni modo (ITA, USA, ENG) ma nulla...il codice che vedete con l'apice l'ho lasciato perche' quello e' il formato data che mi registra con l'opzione "registra macro" per il 6 giugno 2021 (mi mette 6/21/2021 che non e' il formato visualizzato)...ebbene si'...presa dalla disperazione mi son giocata anche la carta estrema della registrazione... 🙁 ...addirittura una volta mettendo 21/06/2021 mi ha filtrato il 17!).
Sinceramente a questo punto non so piu' cosa provare...
Grazie a tutti come sempre 🙂
Ciao,
allega il file per poter provare direttamente senza doverci ricreare la tua situazione.
Ciao, prova così:
Sub FiltroData() Dim T5 As String Range("D3:D" & Rows.Count).NumberFormat = "dd/mm/yy" T5 = Application.InputBox("DATA T-5 gg/mm/aa", Title:="RICHIESTA RIFERIMENTO", Default:="RIF.") If (ActiveSheet.AutoFilterMode And ActiveSheet.FilterMode) Or ActiveSheet.FilterMode Then ActiveSheet.ShowAllData End If ActiveSheet.Range("$A$3:$T$138").AutoFilter Field:=4, Operator:= _ xlFilterValues, Criteria1:=T5 End Sub
sarebbe meglio che mettessi qualche controllo, prima di applicare il filtro, per verificare che quello che hai immesso nella InputBox sia corretto.
@cromagno ...grazie...ora funziona!!! ...per il controllo sul formato della data inserito come criterio di filtro...vero, hai ragione...appena riesco lo inserisco...speravo bastasse l'aver messo nel messaggio di input il formato richiesto...ma obiettivamente potrebbe creare problemi...altra cosa su cui dovro' ragionare ;-)...grazie ancora della cortesia e disponibilità!
...grazie...ora funziona!!!
Per segnare la discussione come risolta, leggi qui:
https://www.excelacademy.it/supporto/regolamento-e-informazioni-utili/segnare-la-propria-discussione-come-risolta/#post-394