Check alle échte Black Friday-deals Ook zo moe van nepaanbiedingen? Wij laten alleen échte deals zien
Toon posts:

Excel Macro

Pagina: 1
Acties:

Verwijderd

Topicstarter
Hallo,

Laat ik als eerste even beginnen met dat ik niet zeker weet of mijn post hier op de juiste plek staat, mocht dit niet zo zijn dan zou ik een mod vriendelijk willen vragen om dit bericht naar het juiste forum te verplaatsen.

Nu dan mijn vraag / probleem.
Ik ben met Macro's een beetje aan het spelen en ben voor het werk nu een grote database aan het maken, waar een 40.000+ regels in komen.

Vanuit deze data wil ik met een macro maken die op een max van 14 zoekvelden een filter activeert.

Ik heb nu in een sheet 14 kolommen met alleen een drop down waarbij je iets kunt selecteren.
De bedoeling in dat de macro dan de selectie van de drop down, bij mijn data sheet opzoekt en de filter op "Ja" zet.

Kan iemand mij hier mee helpen?
Alvast bedankt.

p.s. aangezien ik de vraag denkelijk wel zal krijgen waarom ik geen Acces hiervoor gebruik is omdat wij hier op het werk daar geen licentie voor hebben en ik het dan bij iedereen moet gaan instaleren, nu is dat niet het werk, maar het grootste probleem zit er in dat hier alleen maar digibeten zitten die ik 2 volle weken heb moeten leren hoe ze een Excel sheet dat online staat moeten gebruiken, en nu na een jaar pas inzien dat het beter werkt en dat ze er goed mee kunnen werken.

  • ajakkes
  • Registratie: Maart 2004
  • Laatst online: 16-05 22:32

ajakkes

👑

Je wil na het beantwoorden van 14 selectie vragen een beperkte set van de totale dataset in een tabblad weergeven?

Ik zou eerst eens kijken of je met een draaitabel en daar een filter op een gewenst resultaat krijgt.

👑


  • dragon2
  • Registratie: Juni 2008
  • Niet online
Excel is geen database, en Access is ook niet echt aan te raden... Heel grof gezegd wordt een plan als het jouwe vaak al snel een knutselwerk dat niet onderhoudbaar blijkt en (denk ik) ook wat traag zal zijn. Verder ontbreken logging, automatische backups en is samenwerken aan hetzelfde spreadsheet misschien ook een issue. Ik weet niet hoe belangrijk die 'database' is, wie er allemaal aan gaat zitten en hoevaak er records wijzigen?
Is een echte database zoals bv het gratis SQL Server Express geen optie?

  • RobIII
  • Registratie: December 2001
  • Niet online

RobIII

Admin Devschuur®

^ Romeinse Ⅲ ja!

(overleden)
Verwijderd schreef op maandag 26 oktober 2015 @ 14:53:
Laat ik als eerste even beginnen met dat ik niet zeker weet of mijn post hier op de juiste plek staat, mocht dit niet zo zijn dan zou ik een mod vriendelijk willen vragen om dit bericht naar het juiste forum te verplaatsen.
Dat is dan ook precies waarom Waar hoort mijn topic? bovenaan dit forum staat te prijken ;)
Ik heb je topic even naar CSA verplaatst.

Programming > Client Software Algemeen

[ Voor 4% gewijzigd door RobIII op 26-10-2015 22:39 ]

There are only two hard problems in distributed systems: 2. Exactly-once delivery 1. Guaranteed order of messages 2. Exactly-once delivery.

Je eigen tweaker.me redirect

Over mij


Verwijderd

Topicstarter
Roblll, dank voor het verplaatsen, ik was aan het kijken tussen alle sub forum's maar kon niet echt vinden waar dit topic moest staan, vandaar dat ik het bij progamering neergezet heb.

@Dragon2, onderhoudbaarheid is geen probleem, de gegevens die ik erin gezet hebben zullen niet snel tot bijna niet veranderen, af en toe een mail adres aanpassen zal denkelijk alles zijn, het zijn namelijk bedrijfs gegevens.

Wat betreft meerdere er in laten werken zal ook geen probleem worden, ik zal zelf admin rechten houden, en alles beveiligen, rest moet er alleen gegevens in ophalen, wijzigingen zullen bij mij aangegeven moeten worden.

Ik zal eens kijken in hoeverre een SQL Server Express een optie gaat zijn, maar het grootste probleem waar ik denkelijk tegenaan zal lopen is dat ik hier een 20tal mensen die nieuwe systemen vermijden zal moeten leren om er mee om te gaan.

Dit was ook de reden om voor Excel te kiezen in plaats van een ander systeem.

  • F_J_K
  • Registratie: Juni 2001
  • Niet online

F_J_K

Moderator CSA/PB

Front verplichte underscores

Iedereen die in Excel incl. filters etc. de weg weet, kan tegewoordig omgaan met de browser. Maak een kleine web-applicatie als front-end voor de DB.

Als toch Excel/VBA: ik mis in de topicstart eigen ideeën over de code. Wat is de huidige opzet van de code / waar loop je vast? Het levert hele foute code op die je m.i. niet in productie wilt gebruiken, maar met macro-opnemen kan je misschien wat inspiratie opdoen.

(Het forum is niet geschikt voor het zoeken van iemand die het volledig voor je doet: daar is bijv. de V&A 'marktplaats' voor).

'Multiple exclamation marks,' he went on, shaking his head, 'are a sure sign of a diseased mind' (Terry Pratchett, Eric)


Verwijderd

Topicstarter
F_J_K Dat is ook helemaal niet mijn bedoeling, het probleem is dat ik op dit moment niet weet hoe ik de macro de juiste waarde moet vinden en daar dan de filter moet activeren, ik verwacht ook niet dat iemand het voordoet, sterker nog dat wil ik ook niet, ik hoop hier zelf van te leren waardoor ik zelf dit ook kan doen.

Nu ik mijn originele post nog eens terug lees snap ik dat het lijkt dat ik voor een kant en klare macro vraag maar dat is het niet, mijn vraag is eigenlijk of iemand mij wat tips hierover kan geven hoe ik dit makkelijk zou kunnen doen.

  • Bolletje
  • Registratie: Juni 2008
  • Laatst online: 17:14

Bolletje

Moderator Harde Waren
Je kan de gegevens inladen in een Pivot table. Vervolgens kan je met macro's heel makkelijk de filters van een Pivot table aansturen.
Sheet met data lock en hide je.

Startpunt: Google maar op 'excel vba pivot table filter' of iets dergelijks.

Is geen ideale manier, vooral niet als je database veel records en attributen heeft.


Gaat maar tot 32k items. Dan zal je kunnen kijken naar PowerPivot.
The product of the number of items in all column fields in a PivotTable cannot exceed 32,768.
https://support.microsoft.com/en-us/kb/211517

Afzonderlijke filters kan je ook wel aansturen, is enkel meer werk.

[ Voor 76% gewijzigd door Bolletje op 27-10-2015 12:58 ]


  • Orion84
  • Registratie: April 2002
  • Laatst online: 17:29

Orion84

Admin General Chat / Wonen & Mobiliteit

Fotogenie(k)?

Bolletje schreef op dinsdag 27 oktober 2015 @ 12:44:
Je kan de gegevens inladen in een Pivot table. Vervolgens kan je met macro's heel makkelijk de filters van een Pivot table aansturen.
Sheet met data lock en hide je.
Een pivot table is leuk als je daadwerkelijk dingen wilt tellen / sommeren / samenvatten etc., niet om een gefilterde view op je data te krijgen.

@topicstarter: wat probeer je precies te bereiken, dat niet gewoon kan door op je data sheet de filter functie te activeren waardoor elke kolom een dropdown krijgt met filter en zoek opties?

The problem with common sense is that it's not all that common. | LinkedIn | Flickr


  • Bolletje
  • Registratie: Juni 2008
  • Laatst online: 17:14

Bolletje

Moderator Harde Waren
Orion84 schreef op dinsdag 27 oktober 2015 @ 12:52:
[...]

Een pivot table is leuk als je daadwerkelijk dingen wilt tellen / sommeren / samenvatten etc., niet om een gefilterde view op je data te krijgen.
Korte termijn resultaat is afdoende.

Maar je kan ook wel die afzonderlijke filters aansturen;
MSDN: Range.AutoFilter Method (Excel)

[ Voor 22% gewijzigd door Bolletje op 27-10-2015 12:59 ]


Verwijderd

Topicstarter
@Orion84: Omdat de mensen die er mee moeten gaan niet in de data sheet mogen/kunnen komen, daarbij is het hen makkelijker aan te leren op een knop te drukken dan dat ze in de data sheet alles handmatig moeten selecteren.

  • dragon2
  • Registratie: Juni 2008
  • Niet online
Niet in de sheet mogen komen,of niks mogen aanpassen?
Is alle velden beveiligen met een ww geen optie dan? Kun je de gewone filters gebruiken.

  • F_J_K
  • Registratie: Juni 2001
  • Niet online

F_J_K

Moderator CSA/PB

Front verplichte underscores

En je kunt http://www.excel-easy.com/vba/examples/combo-box.html gebruiken om een pulldownmenu te maken met de juiste waarden. Al zou ik adviseren de opties niet in te code te zetten, maar in een hulptabel zodat het aanpasbaar is.

Trouwens nog welkom@GoT :)

'Multiple exclamation marks,' he went on, shaking his head, 'are a sure sign of a diseased mind' (Terry Pratchett, Eric)


Verwijderd

Topicstarter
F_J_K ik zal die optie eens bekijken.
Ik heb nu de volgende code die ik in Visual Basic kan inbrengen die doet wat ik wil
maar zodra ik de clear macro aan zet dan verbergt hij in het sheetje 'Harde Data' alle rijen waar data instaat.
En op een normale manier valt dit niet naar voren te halen, bijv. filters uitzetten, regels selecteren en dan zichtbaar maken

Weet iemand hoe ik dit kan oplossen?

Code:
Visual Basic:
1
2
3
4
5
6
7
8
9
10
11
12
13
Private Sub Worksheet_Change(ByVal Target As Range)
Dim c As Range
If Not Intersect(Target, Range("c3:c16")) Is Nothing Then
 With Sheets("harde data")
   If .AutoFilterMode Then .AutoFilterMode = False
   Set c = .Rows(2).Find(Target, , xlValues, xlWhole)
      If Not c Is Nothing Then
         .Cells(2, 2).CurrentRegion.Offset(1).AutoFilter c.Column - 1, "Ja"
         .Cells(2, 2).CurrentRegion.Offset(1).AutoFilter 8, ">0"
      End If
  End With
 End If
End Sub 

[ Voor 0% gewijzigd door Lustucru op 28-10-2015 22:33 ]


  • Lustucru
  • Registratie: Januari 2004
  • Niet online

Lustucru

26 03 2016

Wat is 'clear macro aanzet'?

offtopic:
ik heb je code tussen code tags gezet. Je ziet t verschil?

De oever waar we niet zijn noemen wij de overkant / Die wordt dan deze kant zodra we daar zijn aangeland


Verwijderd

Topicstarter
Het wissen van de gegevens in mijn sheet waar ook de bovenstaande code instaat.
Clear macro verwijderd bijv ook de ingevulde gegevens in cellen C3:C16

De Clear Macro verwijderd niets in het sheetje Harde data ;)

Verwijderd

Topicstarter
Ik heb het probleem nu opgelost :D

Code:
Visual Basic:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
Private Sub Worksheet_Change(ByVal Target As Range)
Dim c As Range
If Not Intersect(Target, Range("c3:c16")) Is Nothing Then
 With Sheets("harde data")
   If .AutoFilterMode Then .AutoFilterMode = False
   Set c = .Rows(2).Find(Target, , xlValues, xlWhole)
      If Not c Is Nothing Then
         .Cells(2, 2).CurrentRegion.Offset(1).AutoFilter c.Column - 1, "Ja"
         .Cells(2, 2).CurrentRegion.Offset(1).AutoFilter 8, ">0"
         .Cells(2, 2).CurrentRegion.Offset(1).AutoFilter 89, "ONWAAR"
      End If
  End With
 End If
End Sub 


Op dezemanier werkt het nu, het enige wat ik nu moet doen nadat ik de Clear Macro gebruikt heb en iets wis aanpassen in mijn Harde Data sheet is filter 8 en filter 89 op alles weergeven zetten. en alle regels zullen weer te zien zijn.

Heel erg bedankt voor de hulp :D

  • F_J_K
  • Registratie: Juni 2001
  • Niet online

F_J_K

Moderator CSA/PB

Front verplichte underscores

:)

'Multiple exclamation marks,' he went on, shaking his head, 'are a sure sign of a diseased mind' (Terry Pratchett, Eric)

Pagina: 1