È soltanto un Pokémon con le armi o è un qualcosa di più? Vieni a parlarne su Award & Oscar!
 
Pagina precedente | 1 | Pagina successiva
Vota | Stampa | Notifica email    
Autore

Filtro automatico tramite imputBox

Ultimo Aggiornamento: 24/11/2022 07:06
Post: 55
Registrato il: 08/07/2017
Città: SUSEGANA
Età: 62
Utente Junior
2003
OFFLINE
22/11/2022 12:58

Ciao a Tutti, ho questa macro per filtro automatico tramite imputBox.
Funziona bene anche cosi, ma vorrei che se non trova nessun numero mi restituisse il messaggio “Numero non trovato”. Ho provato in vari modi ha modificarla ma le mie scarse conoscenze…


Sub Cerca_tramite_filtro_automatico()

Dim Cerco As String
Dim Crit1 As String

Cerco = InputBox("Cerca Numero")
If Cerco = "" Then Exit Sub
Crit1 = "" & Cerco & ""

Range("D1").AutoFilter Field:=1, Criteria1:=Crit1, Operator:=xlAnd

Foglio1.ShowAllData
End If

End Sub
Post: 1.037
Registrato il: 24/06/2015
Città: CATANIA
Età: 80
Utente Veteran
Excel2019
OFFLINE
22/11/2022 18:22

Ciao
Modifica la tua macro così
Option Explicit

Sub Cerca_tramite_filtro_automatico()

Dim Cerco As String
Dim Crit1 As String

Cerco = InputBox("Cerca Numero")
If Cerco = "" Then Exit Sub
Crit1 = "" & Cerco & ""
Range("D1").AutoFilter Field:=1, Criteria1:=Crit1, Operator:=xlAnd

If Cells(Rows.Count, 4).End(xlUp).Row = 1 Then MsgBox "Numero non trovato", vbInformation, "Avviso"

Foglio1.ShowAllData

End Sub


Fai sapere. Ciao,
Mario
Post: 55
Registrato il: 08/07/2017
Città: SUSEGANA
Età: 62
Utente Junior
2003
OFFLINE
23/11/2022 06:57

Ciao Mario, mancava End If che ho aggiunto per il resto va perfettamente [SM=g27811] .
Saluti e grazie Mille!
Post: 56
Registrato il: 08/07/2017
Città: SUSEGANA
Età: 62
Utente Junior
2003
OFFLINE
23/11/2022 16:45

Ciao Mario, ti chiedo il significato di questa espressione nel caso dovessi adoperarlo in altre posizioni:

If Cells(Rows.Count, 4).End(xlUp).Row = 1 Then

(Rows.Count, 4) immagino sia il n della colonna del filtro
Row = 1 a cosa si riferisce?
Post: 1.038
Registrato il: 24/06/2015
Città: CATANIA
Età: 80
Utente Veteran
Excel2019
OFFLINE
23/11/2022 18:17

Ciao

If Cells(Rows.Count, 4).End(xlUp).Row = 1
Cosa fa questa riga di codice? Vediamola :

Conta quante celle della colonna D (la n.4) restano visibili dopo aver applicato il filtro. Parte dal basso e va verso l'alto (.End(xlup))
Ovviamente se il risultato della conta è 1 vuol dire che c'è solo una riga visibile e, pertanto, il numero non è stato trovato.

Spero sia sufficiente. Ciao,
Mario
Post: 57
Registrato il: 08/07/2017
Città: SUSEGANA
Età: 62
Utente Junior
2003
OFFLINE
24/11/2022 07:06

Ho capito, se il filtro è in riga 3 devo mettere: Row = 3
Grazie della spiegazione
Saluti
Paolo
Vota:
Amministra Discussione: | Chiudi | Sposta | Cancella | Modifica | Notifica email Pagina precedente | 1 | Pagina successiva
Nuova Discussione
 | 
Rispondi
Cerca nel forum
Tag discussione
Discussioni Simili   [vedi tutte]
Mansionario giornaliero (6 messaggi, agg.: 20/05/2017 11:06)
Feed | Forum | Bacheca | Album | Utenti | Cerca | Login | Registrati | Amministra
Tutti gli orari sono GMT+01:00. Adesso sono le 00:43. Versione: Stampabile | Mobile | Regolamento | Privacy
FreeForumZone [v.6.1] - Copyright © 2000-2024 FFZ srl - www.freeforumzone.com