| | 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 .
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
|
|
|