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

melding/opslaan wijzigingen bij verlaten Pagina van een multipage Uform

Status
Niet open voor verdere reacties.

Andre175

Gebruiker
Lid geworden
2 feb 2018
Berichten
351
Goedemorgen.

is het mogelijk om een melding te geven wanneer een Pagina van een multipage Uform wordt verlaten indien er gegevens zijn gewijzigd?

bijvoorbeeld:
Op Pagina1 staan alleen textboxen met gegevens.
Men wijzigt 1 van de textboxen maar vergeet op de Save-buttun te clicken voordat er een andere pagina gekozen wordt.
Ik wil dit graag opvangen door een melding te geven of de wijzigingen doorgevoerd moeten worden.

Waar zet ik de code onder?


Code:
Private Sub ..........._........()
            If Textbox1 <> Sheets("blad1").Range("A1") Then
            Msgbox.................enz

End Sub
 
Dat lijkt me overbodig.
Als bij het afsluiten van het userform de gegevens uit alle pagina's van het userform worden opgeslagen lijkt me weinig mis te gaan.
 
Laatst bewerkt:
Helemaal mee eens SNB.
Echter het is mijn bedoeling dat wanneer er een andere pagina wordt gekozen in een multipage Userform, dat er dan gekontroleerd wordt of er waarden van textboxen zijn gewijzigd en die niet opgeslagen zijn.
Wil dan dat er een melding komt of de waarden opgeslagen moeten worden. Zoja, dan moet er niet naar een andere pagina gewgaan worden.

ik heb iets gevonden in dit Topic

Ben er mee aan't puzzelen geweest waar kom er nog niet helemaal uit.

Code:
Private Sub MultiPage1_Change()
    Dim currentPage As String
    currentPage = MultiPage1.SelectedItem.Name

    If Not currentPage = previousPage Then
        If Not TbHuisnr1Instel.Value = Sheets("Instellingen").Range("c12").Value Then
            UfStartMulti.MultiPage1.Pages.Name = previousPage
            
            MsgBox "Nu je eigen code uitvoeren voor pagina " & currentPage, vbOKCancel
        End If
        Exit Sub
        previousPage = currentPage
    End If
End Sub

eigenlijk de volgende problemen:

de expressie: TbHuisnr1Instel.Value heeft een waarde "11"
de expressie: Sheets("Instellingen").Range("c12").Value heeft een waarde 11
"11" is niet gelijk aan 11
en de expressie: previousPage blijft leeg, dus de waaarde ""

Code:
Sub UserForm_Activate()
    previousPage = MultiPage1.SelectedItem.Name
End Sub

deze uiteraard ook erbij betrokken


###edit###
bestand bijgevoegd.
De Sub "Private Sub MultiPage1_Change()" is uitgeschakeld, ik heb voor elke regel een ' gezet.

Bekijk bijlage Urenlijsten en facturatie volledig - kopie.xlsm
 
Laatst bewerkt:
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan