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

Tekstilter in macro

Status
Niet open voor verdere reacties.

amarob

Gebruiker
Lid geworden
23 feb 2014
Berichten
68
Hallo,

In onderstaande macro selecteer ik eerst met G22 een waarde in een cel die ik dan vervolgens wil gebruiken om in een kolom te filteren met tekstfilter en bevat. Omdat dit telkens een variabele kan zijn (afhankelijk wat er in cel G22 staat moet dat dus ook zijn effect hebben in het daarmee filteren. Maar het lukt mij niet om die variabele in te bouwen. In onderstaand voorbeeld was cel G22 gevuld met "D". E die vaste waarde laat die staan in de macro. Criteria1:="=*D*". Ik zou dus graag willen dat die dan weer verwijst naar G22.

Is dit probleem op te lossen? Eigenlijk is de vraag of je in het filter kan verwijzen naar een cel. Zie bijgevoegd plaatje.

Sub zoeken2()
'
' zoeken2 Macro
'

'
Sheets("Zoektool").Select
Range("G22").Select
Application.CutCopyMode = False
Selection.Copy
Sheets("Zoeken").Select
ActiveSheet.Range("$A$1:$G$115").AutoFilter Field:=4, Criteria1:="=*D*", _
Operator:=xlAnd
End Sub
 

Bijlagen

  • autofilter.PNG
    autofilter.PNG
    7,3 KB · Weergaven: 26
Laatst bewerkt:
Zoiets.

Code:
Sub zoeken2()
 Sheets("Zoeken").Range("$A$1:$G$115").AutoFilter 4, Sheets("Zoektool").Range("G22")
End Sub
 
Heb je de code wel goed overgenomen ?
Plaats anders een voorbeeldje waarin de code niet werkt.
 
Gezien de openingsvraag:
Code:
Sheets("Zoeken").Range("$A$1:$G$115").AutoFilter 4, "*" & Sheets("Zoektool").Range("G22") & "*"
 
Daar komt de compileerfout niet vandaan.
 
Harry,

Was alleen een aanpassing van de code.
Zoeken op gedeelte van tekst.
 
Bedankt voor alle reacties. Uiteindelijk is het aan de hand van jullie reacties gelukt om een goed werkende macro te maken. Hij ziet er nu als volgt uit:

Sub zoeken2()
'
' zoeken2 Macro
'

'
Range("G25").Select
Selection.Copy
Range("G26").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Sheets("Zoektool").Select
Range("G22").Select
Application.CutCopyMode = False
Selection.Copy
Sheets("Planning").Select
ActiveSheet.Range("$A$1:$G$115").AutoFilter Field:=4, Criteria1:=Sheets("Zoektool").Range("G26"), _
Operator:=xlAnd
End Sub
 
Ook al 'werkt ie goed', dan is het nog geen 'goede macro'.
Het voorstel van HSV is dat wel. Je hebt hem alleen niet goed gekopieerd.
Dit is voldoende:

Code:
Sub zoeken2()
  Sheets("Planning").Range("$A$1:$G$115").AutoFilter 4, Sheets("Zoektool").Range("G25")
End Sub
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan