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

2 keer combobox (dotchie?)

Status
Niet open voor verdere reacties.

Pander

Gebruiker
Lid geworden
14 okt 2014
Berichten
198
Hoi,

Ik heb een excel bestand die, als ik hem voor de eerste keer open een combobox toont met de vraag naar welk tabblad ik wil. Als ik daar ben aangekomen krijg ik weer die combobox te zien. Wie weet hoe dat kan? Dit gebeurt alleen bij de eerste keer openen overigens...

Dit is de code voor het formulier:

Code:
Option Explicit
Private Sub ComboBox1_Click()
Unload Me
Application.Goto Sheets(ComboBox1.Value).[A1]
End Sub
Private Sub Userform_Initialize()
Dim sht As Worksheet
 For Each sht In ActiveWorkbook.Sheets
 If sht.Name <> ("Voorblad") Then ComboBox1.AddItem sht.Name
 Next sht
End Sub

Dit is de code die op het blad 'Voorblad staat' staat:

Code:
Private Sub Worksheet_Activate()
stembureau.Show
End Sub

en dit is de code die op alle tabbladen staat:

Code:
Private Sub Worksheet_Activate()
If MsgBox("U kiest voor: [" & ActiveSheet.Name & "] is dit correct?", vbYesNo + vbQuestion, "Opgepast!") = vbNo Then
Application.Goto Sheets("Voorblad").[A1]
stembureau.ComboBox1.Value = ""
Else
End If
End Sub

Ik heb dotchie in de onderwerp regel staan omdat hij/zij mij zo goed op weg heeft geholpen. Maar wie het weet: ik ben een en al oor.

Gr,
P
 
Code:
Private Sub Workbook_Open()
Application.Goto [Voorblad!A1]
    stembureau.Show
For Each Sh In Sheets
    Sh.Protect "wachtwoord", Userinterfaceonly:=True
    Sh.EnableOutlining = True
Next Sh
End Sub

Met de toegevoegde regeltjes probeerde ik overigens te bewerkstelligen dat ondanks de beveiliging de optie groeperen werkend te houden.
(dat lukt alleen niet zodra ik het bestand opsla als een gedeeld document)
 
Ik krijg uw probleem niet nagebouwd.
Kan je een voorbeeldje posten waar het probleem zich voordoet?
Naar mijn bescheiden mening zal je toch moeten afstappen van uw idee om het document 70 keer te delen, ik denk niet dat je dat ooit werkend krijgt zoals jij het voor ogen hebt.
 
Je gaat door workbook.open() met application.goto naar voorblad! en opent het formulier.
Dan maak je een keuze met je combobox om naar een bepaalt blad te gaan.
Daar staat weer de activate klaar om het project van vooraf aan opnieuw uit te voeren.
 
zeg maar jij hoor. En ik waardeer de 'bescheiden' mening. Ik heb alleen niet veel alternatieven. Acces ben ik niet bekend mee. En opzich ben ik al redelijk tevreden met waar ik nu ben. Maar mocht je ideeen hebben. Ik luister (en leer) graag.

Hierbij het(uitgeklede) bestand waar e.e.a. zicht voordoet.

ik durf het bijna niet te vragen maar, mocht je zo zijdelings ook weten hoe groeperen kan blijven werken bij een gedeeld bestand..

Bekijk bijlage Verkiezingenv3.xlsm
 
Hoi HSV,

Je hebt het probleem zo gespot zie ik. Ik de oplossing alleen niet. Kan je me helpen met wat ik zou moeten veranderen?

Gr,
P
 
Persoonlijk heb ik niets met al die msgboxes, maar misschien voldoet het voor jou.
 

Bijlagen

dank, werkt fijn.

klein vraagje. Het tabblad 'Voorblad' wordt nu geopend en daar krijg ik de messagebox maar daar zou ik de combobox graag zien. de messagebox is bedoeld voor het wisselen tussen de tabbladen. Als het antwoord vanuit de messagebox nee is, verschijnt de combobox weer. Is dat een lastige aanpassing?

Gr,
P
 
Tab 'voorblad' wordt als eerste geopend bij het openen van het werkboek.
Daar krijg je dan de vraag 'is tabblad voorpagina het juiste blad?'
Bij ja blijf je daar en bij nee krijg je het formulier met de combobox keuze.

Hetzelfde geldt voor elke sheet-activate.

Lijkt me niet verkeerd toch?
 
Laatst bewerkt:
zeker ook niet verkeerd. Het is alleen juist de bedoeling dat dat tabblad als eerste wordt geopend. De vraag of dat klopt zou ik daarom dan ook liever passeren.
 
ja, oprecht: prachtig. Dat werkt fijn.

hartelijk dank.

Gr,
P.
 
jakkes. HSV, wil je eens een blik werpen? Ik heb (volgens mij) precies jouw code overgenomen in mijn document maar toch houd ik
het oorspronkelijke probleem. Sterker nog. Er is er nog 1 bijgekomen. Als ik van tabblad wissel en aangeef dat dit niet correct is krijg ik voor de 2de keer
de combox te zien. Als ik dan weer het zelfde tabblad kies en wederom aangeef dat dit niet correct is, verdwijnt de combobox en ga ik wel naar het betreffende tabblad toe.

Waar ga ik de mist in. Jouw document werk perfect nml..

Bekijk bijlage Verkiezingenv3.xlsm
 
Ik heb de boel gewijzigd.
 

Bijlagen

Laatst bewerkt:
Dank voor je snelle reactie. Dit document werkt goed. Ik zal het morgen overnemen in het oorspronkelijke document. Ik ben reuze benieuwd. Dank tot zover in ieder geval.

Gr,
 
hij blijft doen wat hij in mijn vorige post ook deed :(
Hij opent voorblad en dat is goed.
Hij opent de combobox, is ook goed
Hij gaat naar het betreffende tabblad welke hiervoor is gekozen, dus goed.
Aangekomen bij het betreffende tabblad, verschijnt weer de combobox = is niet goed.

Wat gaat er mis?
 
Kijk eens in moduleblad 'Voorblad' of daar een Activate staat in jouw bestand die het formulier aanroept.
 
@Pander


Wees verstandig:

- gebruik een userform om de uitslagen in te voeren
- gebruik een combobox in het userform om het stemburo te kiezen
- gebruik een tabstrip om de parij te kiezen
- de gebruiker heeft zo steeds slechts 1, hetzelfde scherm voor de neus en hoeft niet te srcollen of te wisselen van werkblad. (met alle foutgevolgen vandien).
- schrijf de gegevens weg als een fatsoenlijke database: alle gegevens in 1 werkblad.: 1 rij per kandidaat, 1 kolom per stemburo.

Zie de bijlage.
 

Bijlagen

Laatst bewerkt:
daar stond:

Code:
Private Sub Worksheet_Activate()
stembureau.Show
End Sub

dat lijkt het probleem te zijn geweest. oioi :o

tijd voor een cursus vba. (serieus trouwens ik ben zoekende, dit kan zo niet langer ;))

probleem lijkt te zijn opgelost.

Gr,
Klaas Jan
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan