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

Macro's via functies in Excel

Status
Niet open voor verdere reacties.

michielsprockel

Gebruiker
Lid geworden
7 nov 2013
Berichten
69
Ben altijd wel goed geweest met programmeren in (Quick-)Basic. Een aantal commando's in VBA komen dan ook wel bekend voor, maar daar kom ik niet mee uit. Ik moet dus mijn macro's in Excel maken via de functies die er beschikbaar zijn en dat gaat me redelijk goed af. Mijn vraag is: hoe kan ik een macro maken d.m.v. Excel functies zodat ik een auto-filter kan instellen met een criterium die in een andere cel staat; het kopieën van de cel-inhoud lijkt wel te werken, maar de werkelijke inhoud van de cel staat in de macro en niet de verwijzing naar de inhoud van de cel.
Deze vraag ben ik al wel tegen gekomen in de FAQ, maar die worden dan in VBA uitgelegd. Het wijzigen van mijn macro aan de hand van een gegeven voorbeeld in VBA gaat elke keer fout.

Wie kan mij daarmee helpen?

Groeten,

Michiel
 
Laatst bewerkt:
Code:
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Address = [G1].Address And Target <> "" Then
    Sheets("Blad1").AutoFilterMode = False
    [A1].AutoFilter 1, Target.Value
Else
    Sheets("Blad1").ShowAllData
End If
End Sub

Autofilter op kolom 1 met zoekwaarde in G1.
Zorg er wel voor dat er steeds een lege kolom is tussen autofilterbereik en zoekwaarde, anders wordt de kolom met zoekwaarde ook meegenomen in de autofilter.
Bovenstaand voorbeeld kopieër je in de module v/h werkblad met filter en na het intypen v/d zoekwaarde wordt er automatisch gefilterd.
 
Hallo Rudi,

Bedankt voor je reactie, maar de vraag is hoe het in Excel-functies kan. Ik heb namelijk al meerdere mogelijkheden via VBA (editor) gewijzigd in mijn bestaande macro's gedaan, maar deze lopen allemaal vast.
Ik heb trouwens besloten mij ook te verdiepen in VBA en heb er net een boek over gekocht.
Sta nog wel open voor goede voorstellen omtrent mijn vraag, echter alleen via Excel-functies.

groeten,

Michiel
 
Hallo Rudi,

Ik heb met Office 2007 waarschijnlijk een oudere versie dan jij. Met jouw voorstel is het niet gelukt. Dan krijg ik al direct een foutmelding. Ik haal er echter wel een aantal mogelijkheden uit (bv het gebruik van de [ ] haakjes).
Door mijn gewenste opdracht vanuit Excel te maken en aan te passen in VBA kom ik uit op de onderstaande macro die wel werkt.
Eerst schakel ik mijn filters uit (en filtermogelijkheid weer aan) en plaats ik mijn filterkeuze in H1.


Code:
 Sub filterselectie()
          Rows("2:2").Select                                     
          Selection.AutoFilter
          Range("A2:R2").Select
          Selection.AutoFilter
          Range("H1").Select
          ActiveSheet.Range("$A$2:$XEZ$2500").AutoFilter Field:=8, Criteria1:= _
         [H1], Operator:=xlAnd
     End Sub

Indirect heb je me prima geholpen, bedankt.

groeten,

Michiel
 
Laatst bewerkt door een moderator:
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan