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

Een cmdbuttonknop meerder userforms oproepen.Kan dat?

Status
Niet open voor verdere reacties.

CygneVoler

Gebruiker
Lid geworden
15 mei 2015
Berichten
234
Hallo Excellers,

Vraag: is het mogelijk met een cmdbuttonknop meerder userforms op te roepen?
Omdat dit een excel bestand betreft waar meerdere gebruikers in kunnen werken moeten een aantal zaken worden afgeschermd.
Wat is mijn gedachte:
Momenteel heb ik een werkende cmdbuttonknop "beheerder". Door op de button te drukken wordt een userform "wachtwoord" geopend met volgende code:
Code:
Private Sub LogIn_Click()
    If LogIn.Tag = "test" Then Leveranciers.Show Else MsgBox "Wachtwoord fout!"
    Unload Me
    End Sub

Na invoer van het wachtwoord "test" wordt in dit voorbeeld het scherm Leveranciers geopend.
Omdat ik meerdere schermen heb die afgeschermd moeten worden voor andere gebruikers, en om te voorkomen dat er een blad ontstaat vol met cmdbuttons voor alleen de beheerder,
is mijn gedachte om dit te kunnen openen onder een (1) cmdbuttonknop. Ik open dan, na invoer van het wachtwoord, in 1 keer meerdere schermen: bijvoorbeeld, Leveranciers, crediteuren en NAWPersoneel. De beheerder kan dan een keuze maken welke scherm hij wil gaan bewerken.

Ik kijk uit naar jullie antwoord
 
Laatst bewerkt:
Hetzelfde kan (en veel beter) in 1 userform.
Kijk bijv. eens naar de mogelijkheden van Multipage.
 
Hoi snb, wat een toeval, ik ben daar net mee bezig. Ik heb direct een vraag: als ik nu 3 items heb, moeten dan alle 3 afzonderlijk worden "opgeslagen" ?
 
Graag jullie hulp e.o. advies:
Ik heb de tip van snb opgevolgd en dat werkt op het eerste gezicht goed. Maar nu loop ik tegen een ander probleempje aan.
Ik heb een optie ingebouwd om het bestelformulier (eerste tabblad) leeg te maken nadat deze gevuld is met gegevens en verzonden is. Voordat ik de Multiplage heb toegepast had ik dit op dezelfde pagina (het bestelformulier) staan met een cmdbutten knop (met wachtwoord "test") met de volgende code:

Code:
Private Sub CommandButton2_Click()
     If LogIn.Tag = "test" Then
      Unload Me

      keuze = MsgBox("Weet je zeker dat je de inhoud wilt wissen?", vbQuestion + vbYesNo, "Blad leeg maken")
 
      Select Case keuze
 
        Case vbYes
        Range("B8:B36,G9:G36,K8:K36,L8:L36").Select
        Selection.ClearContents
 
        Case vbNo
            ' do nothing
    End Select

Else: MsgBox "wachtwoord onjuist!"
    Unload Me
    
    End If
End Sub

Maar... doordat het besturingselement nu in de Multipage op tabblad 2 zitten, wordt de range niet meer "schoongeveegd" zoals hiervoor beschreven. En als ik Sheets ("Bestelformulier") opgeef, loopt ie daar op vast. Wat zie ik over het hoofd of wat doe ik niet goed?
 
Laatst bewerkt:
Zet svp VBA code in een bericht tussen code-markeringen (code-tags)
 
Oke, heb ik het zo goed aangepast? Is de vraag helder of heb je nog meer info nodig?
 
Nee, niet goed aangepast. Kijk eens in andere topics of hieronder

Code:
Sub M_snb()

End Sub
 
Laatst bewerkt:
Dank je snb voor je input. Ik ga op ontdekkingstocht.
Zijn er mensen die hier door heen kunnen lezen en me willen helpen? Alvast bedankt.
 
snb, als het goed is heb ik de code nu voorzien van de juiste tags. Jij nogmaals bedankt voor het attenderen en Edmoor hartelijk dank voor de uitleg!
 
Haal de 'beveiliging' van het werkblad af.

Code:
Private Sub CommandButton2_Click()
  If LogIn.Tag = "test" Then
     if  MsgBox("Weet je zeker dat je de inhoud wilt wissen?", vbQuestion + vbYesNo, "Blad leeg maken")=vbYes then Sheets("bestelformulier").Range("B8:B36,G9:G36,K8:K36,L8:L36").clearcontents
  Else 
    MsgBox "ongeldig wachtwoord"
  end if

  Unload Me
End Sub
 
klasse snb het werkt idd maar waarom adviseer je de beveiliging op te heffen?
 
Als je toch met een userform werkt hoef je het werkblad helemaal niet zichtbaar te maken en kan de gebruiker er zonder VBA niet bij.Dan is beveiligign overbodig en vergemakkelijk je VBA-code.


Kijk eens bij

Code:
sheet1.visible=2
' very hidden
 
ja snb, dat is me bekend. Voorlopig ziet het er naar uit dat het "probleem" opgelost is. De tip om een Multipage te maken is helemaal top en werkt goed. Ook de uitleg hoe je vba code moet "presenteren" is goed ingevuld. Ik wil jullie allemaal dan ook hartelijk danken en zal de vraag op opgelost zetten. Graag tot een volgende ronde.
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan