• Privacywetgeving
    Het is bij Helpmij.nl niet toegestaan om persoonsgegevens in een voorbeeld te plaatsen. Alle voorbeelden die persoonsgegevens bevatten zullen zonder opgaaf van reden verwijderd worden. In de vraag zal specifiek vermeld moeten worden dat het om fictieve namen gaat.

AutoFilter getallen ipv tekst

Status
Niet open voor verdere reacties.

jansm

Gebruiker
Lid geworden
2 apr 2014
Berichten
421
Hallo, dit filter gebruik ik op een kolom met tekst. Kan iemand de code voor mij aanpassen zodat hij ook op een kolom met alleen maar getallen werkt?

Code:
Private Sub TextBox1_Change()
   Blad1.Range("A2:C" & Rows.Count).AutoFilter field:=1, Criteria1:="*" & TextBox1.Value & "*"
End Sub
 
Code:
Private Sub TextBox1_Change()
Dim sn
On Error GoTo einde
   sn = Filter(Application.Transpose(Cells(1).CurrentRegion.Columns(1)), TextBox1.Text)
   Cells(1).CurrentRegion.AutoFilter 1, sn, 7
   Exit Sub
einde:
showalldata 'of  Cells(1).CurrentRegion.AutoFilter 1
End Sub

Of zonder variabele 'sn'.
Code:
Private Sub TextBox1_Change()
On Error GoTo einde
   Cells(1).CurrentRegion.AutoFilter 1, Filter(Application.Transpose(Cells(1).CurrentRegion.Columns(1)), TextBox1.Text), 7
   Exit Sub
einde:
ShowAllData
End Sub
 
Laatst bewerkt:
wederom bedankt Harry. Toch niet helemaal wat ik bedoel.
Ik zou graag willen dat er gefilterd wordt op het ingetoetste getal. Bij 1 wordt ook 10 11 21 enz getoond. In de getallen-kolom komen getallen meerdere keren voor.
 
Dan kan het simpeler door je asterisks (wildcards) voor en achter weg te halen.
 
Laatst bewerkt:
Graag gedaan.

Dan krijg je de filter er niet automatisch af als je de textbox leegmaakt.

Zo wel.
Code:
Private Sub TextBox1_Change()
 If TextBox1 <> "" Then
  Range("A1:C" & Rows.Count).AutoFilter 1, TextBox1.Value
 Else
  ShowAllData
 End If
End Sub
 
Hallo snb,
je hebt mij eerder verwezen naar deze site van jou waar ik best wel dingen van opsteek. Maar voor mij blijft het moeilijk als ik dit soort vragen/problemen zelf moet oplossen. Het antwoord van Harry hierboven was ik zelf nooit opgekomen.
Ik heb weer een vervolg vraag (zoals je kunt verwachten).
Als ik nu wil filteren op 2 kolommen. Hoe kom ik daar dan weer uit?
In eerste instantie probeerde ik een 2e criterium zo iets als
Code:
Range("A6:w" & Rows.Count).AutoFilter field:=5, Criteria1:="*" & TextBox1.Value & "*", field:=3, Criteria2:=TextBox3.Value
maar dat werkt natuurlijk niet.
Ik lees
"...Een autofilter is altijd maar op 1 kolom tegelijkertijd aktief.
Wil je op verschillende kolommen filteren dan zul je verschillende autofilters moeten maken.
Die funktioneren dan als "EN" filters: alleen regels die aan beide (of meer) voorwaarden voldoen worden getoond."
Hoe moet ik dat nu weer vertalen naar een code?
 
Zo:

Code:
Range("A6:w" & Rows.Count).AutoFilter field:=5, Criteria1:="*" & TextBox1.Value & "*"
Range("A6:w" & Rows.Count).AutoFilter field:=3, Criteria2:=TextBox3.Value
 
Ik neem aan dat de eerste regel in textbox1_change hoort en de ander in Textbox3, en dan met criteria1
 
Code:
sub M_snb()
  with cells(1).currentregion.offset(5)
     .AutoFilter 5, "*" & TextBox1.Text & "*"
     .AutoFilter 3, TextBox3.Text
  end with
End sub
 
Status
Niet open voor verdere reacties.
Steun Ons

Nieuwste berichten

Terug
Bovenaan Onderaan