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

Terugkerende Inputbox wanneer lege waarde

Status
Niet open voor verdere reacties.

Paradoxx

Gebruiker
Lid geworden
2 nov 2007
Berichten
135
Goedemiddag,

Om mijn code wat gebruiksvriendelijker te maken en gebruikers op de hoogte te stellen van wat ze eventueel verkeerd doen, wil ik dat wanneer men de inputbox leeg laat, een msgbox tevoorschijn komt met de melding (en vbInformation), dat er verplicht iets ingevuld moet worden. Wanneer men dan op de OK knop heeft gedrukt van de MsgBox, moet de Inputbox dus weer tevoorschijn komen.
Na het invullen van de informatie, wordt er een melding gegeven dat het bestand juist is opgeslagen onder de ingevoerde naam op een vastgestelde locatie. Hieronder de code:

Code:
Sub OpslaanAls()

Dim myfile As String

myfile = InputBox("Geef de bestandsnaam op als 'MMDD dagnaam'(bijv: 0525 maandag)", "Opslaan als")

    If myfile = "" Then
        MsgBox ("U moet een bestandsnaam invullen")
        myfile = InputBox("Geef de bestandsnaam op als 'MMDD dagnaam'(bijv: 0525 maandag)", "Opslaan als")
    Else
        
        ActiveWorkbook.SaveAs Filename:= _
        "http://win2008r2:8081/Gedeelde documenten/Transport/2014/" & myfile & ".xls"
    
        MsgBox ("Het bestand " & myfile & ".xls is opgeslagen op de Sharepointmap /Transport/2014/")
    End If
        
End Sub

Hij werkt bijna, maar de MsgBox welke verschijnt als Input leeg is, blijft zichtbaar na het klikken van OK en voor de tweede keer de inputbox komt.
Ik ben nog een beginner in het VBA wereldje,.. en het is vast iets simpels... maar ik kom er even niet uit.

Alvast bedankt!
 
Je dient gebruik te maken van een While...Wend lus.

Code:
Sub OpslaanAls()

Dim myfile As String

    While Trim$(myfile) = ""
         myfile = InputBox("Geef de bestandsnaam op als 'MMDD dagnaam'(bijv: 0525 maandag)", "Opslaan als")

        If Trim$(myfile) = "" Then MsgBox ("U moet een bestandsnaam invullen")
    Wend
        
    ActiveWorkbook.SaveAs Filename:= _
    "http://win2008r2:8081/Gedeelde documenten/Transport/2014/" & myfile & ".xls"

    MsgBox ("Het bestand " & myfile & ".xls is opgeslagen op de Sharepointmap /Transport/2014/")
        
End Sub

Met vriendelijke groet,



Roncancio
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan