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

Sorteren op 3 kolommem

  • Onderwerp starter Onderwerp starter Imod
  • Startdatum Startdatum
Status
Niet open voor verdere reacties.

Imod

Gebruiker
Lid geworden
13 nov 2003
Berichten
481
Hallo,

Ik heb een voorbeeldje toegevoegd,
Ik heb 5 kolommen met gegevens

Via 3 keuze knoppen kan ik een selectie maken,
Alles wat hieraan voldoet moet uit kolom 4 en 5 eronder komen te staan.
Dit kan 1 regel zijn maar ook 15 stuks

Ik weet niet hoe ik dit kan maken - wie heeft er een idee??
 

Bijlagen

Je wilt gewoon een filter nabootsen wat al standaard in Excel zit?
 
Ik wil graag permanent zien wat onder een bepaalde groep valt en de bedragen optellen in een totaal en dit centraliseren op een bepaalde plaats zodat ik direct een overzicht heb!
 
Hallo Harry,

De code werkt prima,

Deze werkt op de zoekcellen J2-L2 indien er hiernaast ook zoekcellen komen in N2-P2 dan kan ik de code kopieren en aanpassen,
Maar je kan dit ook combineren tot een kleinere code die is samengevoegd,
Zou je hiervan een voorbeeld kunnen geven mijn VBA reikt niet zo ver!!
 
Harry,

Ook deze werkt,
Ik heb zelf geprobeerd om een derde op R2-T2 aan de praat te krijgen - hieronder code van de 1e 2.

Private Sub Worksheet_Change(ByVal Target As Range)
Dim sn, i As Long, x As Long, rng As Range
If Not Intersect(Target, Range("J2:P2")) Is Nothing Then
sn = Cells(1).CurrentRegion
ReDim arr(UBound(sn), 1)
For i = 1 To UBound(sn)
Select Case Target.Column
Case 10, 11, 12
Set rng = Range("J2")
Case 14, 15, 16
Set rng = Range("N2")
End Select
If sn(i, 1) & "|" & sn(i, 2) & "|" & sn(i, 3) = Join(Application.Index(rng.Resize(, 3).Value, 1, 0), "|") Then
arr(x, 0) = sn(i, 4)
arr(x, 1) = sn(i, 5)
x = x + 1
End If
Next i
rng.Offset(1).Resize(11, 3).ClearContents
If x > 0 Then rng.Offset(1).Resize(x, 2) = arr
End If
End Sub

Ik neem aan dat er deze tekst moet aangevuld worden in bovenstaande
Case 18, 19, 20
Set rng = Range("R2")
maar dan werkt de derde niet?
Wat moet ik nog meer wijzigen?
 
Aan de smiley te zien staat er "J2: P2", maak daar "J2:T2" van.
 
Harry,

Nog 2 vragen,

Als ik de kolommen A t/m E aanvul met gegevens dan worden de keuze kolommen niet automatisch aangevuld,
Ik moet eerst bv J2 de lijst uitvouwen en daarna weer tekst 1 neerzetten en dan wordt hij aangevuld!
Met toets F9 komt er ook geen verandering in.
Het zou handig zijn als de kolommen vanzelf worden aangevuld indien gegevens worden aangevuld.(her berekenen)

De code werkt op de gehele kolom A:A B:B C:C D:D en E:E neem ik aan?
 
Gedefinieerde namen kolom1 van:
Code:
=Blad1!$A$1:$A$10
in:
Code:
=VERSCHUIVING(Blad1!$A$1;1;0;AANTALARG(Blad1!$A$2:$A$1000);1)
Voor de andere namen idem dito op de andere kolommen.
Nu kun je tot rij 1000 aanvullen.
Code wat uitgebreid.
 

Bijlagen

Hallo Harry,

Het werkt prefect,

Maar als je bezig bent om alles neer te zetten kom je weer andere dingen tegen,

In het mogelijk dat de gegevens in het eerste blad staat en tabblad 2 noem 2013 en 3 2014
En dat de gegevens hier naar toe worden verplaatst??
En mogelijk ook onder elkaar??Bekijk bijlage filter nabootsen 4 test.xlsm
 
Harry (of anderen)

Indien te moeilijk in VBA mag het van mij ook met formules!
In VBA ben ik niet thuis en kan ik niets veranderen omdat ik het niet begrijp.
Met formules kun je zelf cel adressen in formules aanpassen.
 
Helaas was ik je vraag vergeten Domien.
Het wordt er ook niet gemakkelijker op, en vereist een hoop improviseerwerk.

Kijk maar of je hiermee uit de voeten kan.
 

Bijlagen

Harry,

Volgens mij werkt het goed,

Hartelijk bedankt voor de moeite!!:thumb::thumb:
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan