Macro voor keuzelijst met invoervak

Status
Niet open voor verdere reacties.

inge1990

Gebruiker
Lid geworden
26 dec 2007
Berichten
10
Hallo,

Ik heb en macro gemaakt voor een keuzelijst met invoervak.
De bedoeling was dat als ik een bepaalde 'keuze' zou maken in de lijst, dat ik naar een nieuw werkblad doorgestuurd zou worden, maar het maakt niet uit welke keuze ik maak,
ik wordt altijd naar hetzelfde werkblad gestuurd.
Ik krijg de volgende code voor de macro:

Code:
Sub MacroKeuzelijst()
'
' MacroKeuzelijst Macro
' De macro is opgenomen op 29-12-2007 door gebruiker.
'

'
    Sheets("extra").Select
End Sub

In de code is het vanzelfsprekend dat ik wordt doorgestuurd naar de sheet 'extra'.
Maar in de lijst kan ik kiezen tussen keuze1, keuze2, keuze3 enz.
Als ik keuze 1 selecteer wil ik bijvoorbeeld naar blad extra worden gestuurd,
selecteer ik keuze 2 wil ik naar blad extra2 worden gestuurd enz.
Weet iemand wat ik dan in de code neer moet zetten?

Alvast bedankt.
 
Laatst bewerkt door een moderator:
VBA gebruik je altijd binnen een applicatie, bv Word of Access, maar ik neem aan dat het in dit geval om Excel gaat?

Keuzelijst met invoervak lijkt me dan niet zo logisch, of zou er een nieuw tabblad aangemaakt moeten worden als er een nieuwe naam in het invoervak ingetyped wordt?
 
Laatst bewerkt:
Wat ik trouwens bedoel:
Er is een keuzelijst ingevoerd (je kunt hierin geen gegevens wijzigen)
En als je keuze 1 selecteerd moet je naar een bepaald tabblad worden gestuurd.
Selecteer je keuze 2, moet je naar een ander tabblad worden gestuurd enz.
 
Hier een simpel voorbeeld.
Ik denk dat e.a. wel duidelijk is.

In Cel A1 t.m A3 staan de keuze teksten.
In Cel B1 wordt de gemaakte keuze bij gehouden.
Deze waarden kan je natuurlijk overal neer zetten, ergens uit het zicht.

De Macro die vervolgens aan het werk gaat wordt in gang gezet door de keuze in de keuzelijst.

Code:
Sub Keuzelijst1_BijWijzigen()
'
' Keuzelijst1_BijWijzigen Macro
Sheets(("Extra") & Range("B1").Value).Select
End Sub

N.b. mijn tabbladen heten Extra1, Extra2 etc. mocht je een extra spatie gebruiken moet je de code even aanpassen; Sheets(("Extra ") & Range("B1").Value).Select

Op de drie doel tabbladen heb ik nog een terug button geplaatst.
Code:
Sub Knop1_Klikken()
Sheets("Maak_Keuze").Select
End Sub
 

Bijlagen

Laatst bewerkt:
Nog even een versie gemaakt die ook werkt als er geen nummer in de tabbladnaam staat.

N.b. er is wel een probleem met deze 'oplossing';
Je moet alle waarden zichtbaar hebben als je het keuze venster kleiner maakt moet je gaan scrollen, echter op dat moment maak je al een keuze.
Omdat je geen 'Go' toets o.i.d. hebt moet je altijd direct de juiste keuze maken, er doorheen scrollen kan dus nooit gaan werken op deze manier.
 

Bijlagen

Laatst bewerkt:
Bedankt, het lijkt een beetje op wat ik bedoel.
Alleen heb ik een keuzelijst met invoervak, en het voorbeeld is een gewone keuzelijst.
En gegevens hoeven toch niet zichtbaar te zijn? Je kunt toch gewoon
de desbetreffende rijen en kolommen verbergen?
 
Er zijn nogal wat opties. Als je weet dat de entries in de combobox een vaste volgorde hebben zou je bijvoorbeeld kunnen kiezen voor:

Code:
Private Sub ComboBox1_Click()
    Select Case Me.ComboBox1.ListIndex
        Case 1: Sheets("Sheet1").Select
        Case 2: Sheets("Sheet2").Select
        Case 3: Sheets("Sheet3").Select
    End Select
    
End Sub
 
Laatst bewerkt door een moderator:
Sorry dat het zo lang duurde ... maar had wat probleempjes met internet.
Ik heb van alles geprobeerd, maar het werkt niet.
In de keuzelijst heb ik nu staan:

invulgegevens keuze 1
invulgegevens keuze 2
invulgegevens keuze 3
invulgegevens keuze 4 (straks verandert die keuze 1 enz. weer in iets anders)

Als ik klik op invulgegevens keuze 1 moet ik op tabblad keuze 1 terecht komen.
Als ik klik op invulgegevens keuze 2 moet ik op tabblad keuze 2 terecht komen.
enz. maar bij alles wat ik doe kom ik altijd op het tabblad voor keuze 1 terecht.
Ik heb ook de code van hierboven geprobeerd maar dat werkt ook niet.
 
Plaats je excel sheet even, dan is het wat makkelijker uit te leggen
 
uuhm.. hoe doe ik dat ? :confused:
Gewoon excel bestand is ongeldig. En heb geen idee hoe ik het in een juiste extensie moet zetten.
 
Even rechtsklikken op het bestand en dan kopieren naar/gecomprimeerde folder.

Haal wel even persoonlijke data weg uit het bestand - tenslotte kan de hele wereld 'm downloaden. Als dat niet gaat mail je 'm maar even door op 'm'n profiel te klikken en naar 'verstuur mail' te gaan.
 
Als het goed is, is de bijlage toegevoegd.
De meeste tabbladen heb ik leeggemaakt.
Het gaat om het tabblad 'titritmetrisch' ...
daar vind je een keuzelijst met invoervak.
Per keuze moet ik naar het juiste tabblad verwezen worden.
Als ik azijnzuurbepaling selecteer, moet ik naar dat tabblad gaan.
Ook voor de andere drie keuzes.
Ik heb meerdere macro's geprobeerd en de code aan te passen maar het lukte niet.
Het zal vast heel simpel zijn, maar ik kom er niet uit.
Alvast bedankt ... :)
 

Bijlagen

Code:
Sub ComboBox1_Click()
  Select Case Range("B3").Value
    Case Is = 1
      Sheets("azijnzuurbepaling").Select
    Case Is = 2
      Sheets("zuurstofbepaling").Select
    Case Is = 3
      Sheets("stikstofbepaling").Select
    Case Is = 4
      Sheets("ijzerbepaling").Select
    'Case Is = 5
    '  Sheets("XYZ").Select
  End Select
End Sub

in Module4 zetten.
 
Jaaa :thumb:
Echt superbedankt!
Als ik het zo lees is het simpel,
maarja ik begrijp de codes opzich wel als ik ze lees,
maar om ze zelf te verzinnen :confused:

Maar in ieder geval... het werkt!
Heel erg bedankt voor de moeite. Nu kan ik eindelijk verder met de rest :)
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan