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

Unieke waarden weergeven

Status
Niet open voor verdere reacties.
Beste Arrie,

Opnieuw bedankt voor je reactie. Ik heb nu inderdaad bij module 1 de Sub code en bij het blad met alle codes waaruit de unieke waarden gefilterd moeten worden de Private sub code staan (zie bijlage). Wanneer er echter waarden aan dat blad worden toegevoegd en, worden deze nog niet automatisch gefilterd. Ook niet wanneer ik Excel opnieuw opstart.
Suggesties zijn wederom erg welkom :)

VBA.png
 
Laatst bewerkt:
Zet de macro in de codemodule van werkblad "Relatieoverzicht-b'
Door de werkwijze is screenupdating overbodig.
Schakelen tussen de werkbladen zorgt ervoor dat de gegevens worden bijgewerkt in werkblad "Relatieoverzcht'
De 'Change' gebeurtenis lijkt me een overdosis.

Code:
Private Sub Worksheet_Activate()
   sn = Cells(1).CurrentRegion.Offset(1)
   
   With CreateObject("scripting.dictionary")
      For Each it In sn
        If it <> "" Then x0 = .Item(it)
      Next
      Sheets("Relatieoverzicht").Columns(1).ClearContents
      Sheets("Relatieoverzicht").Cells(1).Resize(.Count) = Application.Transpose(.keys)
   End With
End Sub

Ben je geïnteresseerd in Dictionaries ?

http://www.snb-vba.eu/VBA_Dictionary.html
 
Laatst bewerkt:
@snb

Kan het kloppen dat er nu steeds de bovenste waarde gewist wordt bij het selecteren van het blad?
zou dan misschien de offset(1) weg moeten?

Groet,
 
In het aangeleverde bestand stonden in rij 1 geen gegevens maar kolomkoppen/veldnamen.
Als een werkblad geen kolomkoppen/veldnamen heeft, maar alleen gegevens, zul je inderdaad die offset(1) weg moeten laten.
 
@snb, ik heb de codes ingevoerd zoals aangegeven en het ziet tot nu toe uit dat alles prima werkt, bedankt voor de tip!
Verder heb ik op ieder tabblad kolomnamen staan, dus heb offset (1) laten staan.
Voor mij is daarmee het probleem opgelost. Nogmaals bedankt voor het meedenken en reageren allemaal.

Gr.
 
Te vroeg gejuicht, ik heb toch nog een vraag/opmerking:
Op dit moment wordt de macro alleen automatisch uitgevoerd wanneer ik het werkblad open waarin alle waarden staan weergegeven. Pas daarna wordt het blad met unieke waarden geupdate. Is het ook mogelijk om de macro zo in te stellen dat de unieke waarden automatisch worden geupdate wanneer ik excel open, of kan dit alleen via het werkblad met alle waarden te gaan?
Alvast bedankt!
 
in de codemodule van thisworkbook:

Code:
Private Sub Workbook_open()
  sheets("Relatieoverzicht-b").activate
end sub
 
@snb
Bedankt voor je reactie.
Ik heb inmiddels dezelfde codes toegepast op een werkblad waarin ipv unieke relatienummers unieke landen komen te staan. Dit werkt ook allemaal zoals het moet. Welke code moet ik dan in thisworkbook plaatsen? Het werkblad heet Landoverzicht-b
Alvast bedankt!
 
Doe eens een gok, probeer eens wat uit, zoek eens wat op, zoek eens wat uit: word je allemaal wijzer van.
 
@snb
Je hebt gelijk, ik word een beetje gemakzuchtig van de snelle hulp iedere keer.

Ik heb een aantal opties geprobeerd, maar de enige waarbij de code die ik invoer niet rood wordt (ik neem aan dat dat betekent dat het niet mogelijk is), is de volgende:

Private Sub Workbook_open()
Sheets("Relatieoverzicht-b").Activate
Sheets("Landoverzicht-b").Activate
End Sub

Wanneer ik nu dingen verander, veranderen de waarden behorend bij landoverzicht wel mee, maar bij relatieoverzicht niet.
En daarbij zou hulp weer er gewaardeerd worden, heb geen idee waar de fout nu zou kunnen zitten.

Gr
 
Stel dat de gebeurtenis 'activate' de code niet aktiveert als het werkblad al aktief is, hoe zou je het dan kunnen oplossen ?
 
@snb
Ik zou nu een hoop dingen kunnen gokken, maar ik heb echt geen flauw idee. Anderhalve week geleden wist ik niet eens dat VBA een onderdeel van Excel was, dus ik heb 95% van de tijd eigenlijk geen idee wat ik aan het doen ben. Ik zou zeggen ververs het werkblad of maak een omleiding via een ander werkblad, al vind ik dat ook niet echt logisch klinken. Mocht je een link hebben naar een spoedcursusje voor beginners ofzo, dan wil ik het ook best zelf proberen uit te zoeken, want zoals gezegd, ik heb zelf geen idee in welke richting ik moet denken. Desondanks uiteraard bedankt voor je reactie, beetje scherp gehouden worden is niets mis mee :)
 
Ik dacht aan:

Code:
Private Sub Workbook_open()
   Sheets("Relatieoverzicht-b").Activate
   Sheets("Landoverzicht-b").Activate
   Sheets("Relatieoverzicht-b").Activate
End Sub

Je hebt niets aan een spoedcursus , want het tempo wordt niet bepaald door de cursus maar door degene die hem volgt. :D :P

Begin met het boek 'VBA voor Dummies', daarna het serieuze werk: (Walkenbach, Jelen,etc.)
 
Mocht je een link hebben naar een spoedcursusje voor beginners ofzo, dan wil ik het ook best zelf proberen uit te zoeken
Je ben blijkbaar (en dat geldt ook voor snb gezien zijn reactie) gezien zijn reactie) niet ingeschreven op de HelpMij Nieuwsbrief, want daar is al een tijdje (we zijn nu bij aflevering 11) een prima cursus VBA voor Excel te vinden. Kijk die cursus dus eerst eens op je gemakje door, zou ik zeggen :).
 
@Octa,

Als redacteur had je beter moeten weten, gezien de reakties die ik naar aanleiding van de nieuwsbrief naar de redaktie stuurde...:P
 
@Octafish, sorry ik denk dat die in mn spam terecht gekomen is ;-) zal het de komende tijd even extra in de gaten houden, wanneer kan de volgende verwacht worden?
@snb, zo moet ie inderdaad kloppen, tnx!
@derest ook bedankt voor alle hulp, ik zet de status op opgelost

mvg
 
Status
Niet open voor verdere reacties.

Nieuwste berichten

Terug
Bovenaan Onderaan