Condividi tramite

Filtro su colonna con Macro per trovare valori

Anonimo
2014-01-31T11:46:13+00:00

Buongiorno per favore come faccio ad utilizzare la macro seguente ma non devo trovare del testo ma dei valori numerici, ad esempio 8,34? Che parte di macro devo sostituire o aggiungere?

Grazie infinite e buon week end

Sub Filtro_Colonna_A()

'filtro rapido per colonna

Togli_Password_Foglio_Attivo

Dim strCriteria As String

strCriteria = InputBox("Inserisci stringa di ricerca")

If Len(Trim(strCriteria)) > 0 Then

strCriteria = "*" & strCriteria & "*" 'criterio contiene

Else

'Val_02

Range("$a$1:$a$15000").AutoFilter Field:=1

'in inserisci movimenti per filtro colonna A

Exit Sub

End If

'Val_03

Range("$a$1:$a$15000").AutoFilter Field:=1 ' toglie il criterio se c'è

Range("$a$1:$a$15000").AutoFilter Field:=1, Criteria1:=strCriteria, _

Operator:=xlAnd

End Sub

Microsoft 365 e Office | Excel | Per la casa | Windows

Domanda bloccata. Questa domanda è stata eseguita dalla community del supporto tecnico Microsoft. È possibile votare se è utile, ma non è possibile aggiungere commenti o risposte o seguire la domanda.

0 commenti Nessun commento
Risposta accettata dall'autore della domanda
  1. Anonimo
    2014-02-14T16:06:02+00:00

    Buongiorno Mauro hai avuto modo di controllare il mio file? Dove sbaglio?

    Inoltre vorrei sapere se MVB é possibile conoscere dove ho utilizzato la macro?

    Perché sto programmando ma ho perso un pò la bussola e vorrei capire dove e quante volte ho utilizzato una macro

    Grazie 1000 e buon week end

    A

    Digita i numeri da filtrare con la virgola come separatore decimale e senza separatore delle migliaia.

    Andrea.


    Public Sub filtraNumeri()

    Dim n As Double

    Dim s As String

    On Error Resume Next

    n = Application.InputBox("Inserire numero", , , , , , , 1)

    On Error GoTo 0

    With ActiveSheet.Range("$A$1:$A$20")

    .AutoFilter

    If n Then

    s = Format(n, .Cells(2, 1).NumberFormat)

    s = Replace(Replace(Replace(s, ".", "*"), ",", "."), "*", ",")

    .AutoFilter Field:=1, Criteria1:=s

    End If

    End With

    End Sub


    0 commenti Nessun commento

16 risposte aggiuntive

Ordina per: Più utili
  1. Anonimo
    2014-02-03T00:07:50+00:00

    Eccomi!

    Devo trovare dei valori univoci, ovvero se cerco 8,34 devo trovare tutti i valori che soddisfano tale condizione in quella colonna e solo in quella.

    E' una utilità che già si trova

    FILTRA PER NUMERI

    UGUALE A 

    Ma visto che devo trovarne tanti preferirei avere un tastino piuttosto che aprire un menu, più veloce solo, per questo.

    Grazie 1000

    0 commenti Nessun commento
  2. Anonimo
    2014-02-02T09:40:19+00:00

    Grazie Andrea ma é una macro che mi trova del testo.

    Ora vorrei applicarla ad altra colonna per cercare dei valori, penso si possa fare!

    Magari Mauro.....magari

    Grazie

     

    Come ti ha spiegato Andrea, i valori numerici rispondono a > = <, ecc. Quindi non a *contiene/inizia/ecc*.

    Se fai una lista di 4/5 valori numerici e poi spieghi come vorresti filtrarli.

    Grazie.

    0 commenti Nessun commento
  3. Anonimo
    2014-01-31T18:00:32+00:00

    Grazie Andrea ma é una macro che mi trova del testo.

    Ora vorrei applicarla ad altra colonna per cercare dei valori, penso si possa fare!

    Magari Mauro.....magari

    Grazie

    0 commenti Nessun commento
  4. Anonimo
    2014-01-31T12:05:12+00:00

    Buongiorno per favore come faccio ad utilizzare la macro seguente ma non devo trovare del testo ma dei valori numerici, ad esempio 8,34? Che parte di macro devo sostituire o aggiungere?

    Grazie infinite e buon week end

    Sub Filtro_Colonna_A()

    'filtro rapido per colonna

    Togli_Password_Foglio_Attivo

    Dim strCriteria As String

    strCriteria = InputBox("Inserisci stringa di ricerca")

    If Len(Trim(strCriteria)) > 0 Then

    strCriteria = "*" & strCriteria & "*" 'criterio contiene

    Else

    'Val_02

    Range("$a$1:$a$15000").AutoFilter Field:=1

    'in inserisci movimenti per filtro colonna A

    Exit Sub

    End If

    'Val_03

    Range("$a$1:$a$15000").AutoFilter Field:=1 ' toglie il criterio se c'è

    Range("$a$1:$a$15000").AutoFilter Field:=1, Criteria1:=strCriteria, _

    Operator:=xlAnd

    End Sub

    Ciao Andrea,

    dubito possa utilizzare l'asterisco ed altre wildcards per ricerche numeriche in particolare con numeri decimale.

    Trattandosi di numeri puoi applicare molti criteri al filtro: =, >, <, compreso tra, primi 10 ecc. Si tratta di capire esattamente il significato del filtro che vuoi applicare.

    Andrea.

    0 commenti Nessun commento