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

Problemen met macro

Status
Niet open voor verdere reacties.

00Jan00

Gebruiker
Lid geworden
6 jan 2012
Berichten
15
Hallo,

Ik ben bezig met het in elkaar zetten van een bestel (doorlooptijd) programma.
Ik weet dat nog niet alle knoppen werken maar loopt nu tegen het volgende probleem.

Als ik via de button "Bestelling MHD" de macro "AA_bestelling_MHD" opstart wordt de userform "XX_bestelling_MHD" zichtbaar
Kies ik dan voor "Stock materiaal" krijg je een userform met invulvelden.
Als je alle velden ingevuld hebt kan je adhv de onderstaande buttons kiezen uit 4 verschillende optie
Het gaat nu om de optie " Opslaan en formulier leegmaken"

De bedoeling is dat de informatie in de tabel wordt gezet en dat de macro "AA_bestelling_MHD" weer wordt opgestart.
Nu geeft hij een foutmelding dat hij userform "XX_bestelling_MHD" niet kan vinden.
Kan iemand mij helpen om dit probleem op te lossen

Ik heb de excel sheet als bijlage erbij gedaan

Alvast bedankt[


Bekijk bijlage planning draft 1.xls
 
Als ik het goed begrijp wil je dat het eerste formuliertje weer in beeld komt als je op de knop opslaan en formulier leegmaken klikt
ik heb 2 regels omgedraaid
Code:
Unload Me
XX_bestelling_MHD_01.Show
nu komt XX_bestelling_MHD weer in beeld
 
De logica in je macro's is ook zoek.
Eerst ga je alle textboxen wegschrijven naar je werkblad (leeg of gevuld), en daarna ga je controleren of alle textboxen wel gevuld zijn ?????
Als je voor elke textbox in je formulier bij de Tag-eigenschap je bericht schrijft dat moet verschijnen als de textbox leeg is kan je jouw macro vervangen door onderstaande.

Code:
Private Sub Opslaan_en_formulier_sluiten_MHD_01_Click()
    For Each ctl In Me.Controls
        If TypeOf ctl Is msforms.TextBox And ctl = "" Then MsgBox ctl.Tag: Exit Sub
    Next
    If MsgBox("Weet je het zeker dat je deze informatie in de planning wilt zetten", vbYesNo, "zekerheid") = vbYes Then
        With Range("D16")
            .Value = LIPS_MM_art_nr_TextBox_01.Value
            .Offset(, 1) = LIPS_MM_art_naam_TextBox_01.Value
            .Offset(, 2) = prijs_per_eenheid_TextBox_01.Value
            .Offset(, 5) = purchase_request_nr_TextBox_01.Value
        End With
        Unload Me
        End If
End Sub
 
Pasan

Jou manier werkt goed,
Maar het los niet mijn probleem op.
Graag zou ik willen dat als ik de buttoen "Opslaan en formulier leegmaken" gebruikt in de Userform "XX_bestelling_MHD_01" dat hij de informatie wegschrijft naar de tabel en dat hij Marco "AA_bestelling_MHD" weer opstart.
In mijn voorbeeld schrijft hij de informatie wel weg maar als hij de macro "AA_bestelling_MHD" op start heeft bij problemen met het vinden van de Userform "XX_bestelling_MHD" en geeft dan een foutmelding

Gr.
 
Aangezien je toch niet reageert op mijn post zal ik maar zelf mijn oplossing posten. :o
 

Bijlagen

Ik wil jullie beide bedanken voor jullie hulp.
De oplossing van Rudi werkt perfect

Rudi,
Sorry dat ik jou oplossing nog niet had uitgeprobeerd voordat ik reageerde op de oplossing van Pasan.
Niet slim, maar voor mij weer een leerproces om eerst alle oplossingen uit te proberen voordat ik reageer

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