Black Friday = Pricewatch Bekijk onze selectie van de beste Black Friday-deals en voorkom een miskoop.

[Excel] Macro's uitvoeren door keuzelijst

Pagina: 1
Acties:

Vraag


  • TripleTech
  • Registratie: Maart 2016
  • Laatst online: 09-01 19:36
Voor een financiele rapportage te vereenvoudigen wil ik diverse macro's uitvoeren aan de hand van een keuzelijst. Waarom een keuzelijst? Simpel door de beperkte ruimte in het Excel bestand.
...

Wat ik al gevonden of geprobeerd heb:

Via Google heb ik al het één en ander kunnen vinden over de programmacode/rechtermuisklik op tabblad. Momenteel staat de volgende code;

Private Sub Worksheet_Change(ByVal Target As Range)
'macro starten voor 1 bepaalde cel
If Target.Address = "$D$1" And Target.Value = "Nederland" Then
Call Nederland
End If

If Target.Address = "$D$2" And Target.Value = 14 Then
Call Uit
End If

End Sub

Zoals jullie al denken door mijn vraag, werkt dit nog niet.

Situatie:
In de rapportage zijn financiele stukken verwerkt van diverse landen. Door toevoeging van nieuwe divisies is het bestand te breed geworden. Ik heb dus macro's gemaakt die alleen nog de informatie aangeven van het desbetreffende land (en ook een macro voor alles weergeven en enkel totalen). De macro's hebben precies eenzelfde naam als het land. De input van de keuzelijst vormt dan ook een rij cellen met onder elkaar de namen van de landen.

Graag zie ik dus, als ik een land selecteer in de keuzelijst, de macro werken en alleen de gegevens te tonen van het desbetreffende land.

Wie o Wie kan hiermee helpen?

Alle reacties


  • breew
  • Registratie: April 2014
  • Laatst online: 11:42
TripleTech schreef op vrijdag 15 december 2017 @ 14:09:
[...]
Wie o Wie kan hiermee helpen?
Je vraag is niet helemaal duidelijk. Wat werkt niet?
Wordt de Worksheet_Event niet aangeroepen/getriggerd, wordt de procedure 'Nederland' niet uitgevoerd, of werkt de code in je Worksheet_Event niet naar behoren?

In het laatste geval, probeer eens:
Visual Basic:
1
2
3
4
5
6
7
8
9
Option Explicit

Private Sub Worksheet_Change(ByVal Target As Range)

If Range(Target.Address) = Range("D1") And Target.Value = "Nederland" Then
  MsgBox ("jaaaa")
End If
  
End Sub

[ Voor 75% gewijzigd door breew op 15-12-2017 15:20 ]