Hoi,
Ik ben nieuw met macro's / programmeren in VBA (Excel). Gelukkig heb ik wel wat programmeerervaring dus ben ik een eind gekomen. Echter, ik loop op twee punten vast.
Ik ben een formulier in Excel aan het maken. Met macro's wil ik een aantal zaken verplichten:
1. Het veld L1 in tabblad Vragenlijst moet worden ingevuld.
2. Om het origineel te bewaren moet CTRL + S en de saveknop handelen als 'Save as'.
Ik heb de volgende code
Hierin wordt punt 1 afgedwongen. Probleem: hoe kan ik afdwingen dat dit veld moet zijn ingevuld voor het opslaan zonder dat ik dit veld zelf al in moet vullen? Ik verstuur het formulier straks namelijk en iedereen moet daar dan iets anders invullen.
Punt 2 is wat moeilijker. Weet iemand hoe ik 'save' door kan sluizen naar 'save as'?
Verder wil ik dan ook nog dat er een bestandsnaam wordt voorgegenereerd. Dit kan ik doen (toch?) door (String):
Maar waarom werkt het niet als ik ActiveWorkbook.SaveAs Filename:=Bestandsnaam toevoeg aan Workbook_BeforeSave()? Ook This.Woorkbook.SaveAs werkt niet
Heeft er iemand alsjeblieft antwoord op mijn drie vragen?
Ik ben nieuw met macro's / programmeren in VBA (Excel). Gelukkig heb ik wel wat programmeerervaring dus ben ik een eind gekomen. Echter, ik loop op twee punten vast.
Ik ben een formulier in Excel aan het maken. Met macro's wil ik een aantal zaken verplichten:
1. Het veld L1 in tabblad Vragenlijst moet worden ingevuld.
2. Om het origineel te bewaren moet CTRL + S en de saveknop handelen als 'Save as'.
Ik heb de volgende code
Code:
Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean)
If SaveAsUI = False Then
Cancel = True
MsgBox "U kunt dit excelbestand alleen opslaan met 'Save As'. Geef het bestand ook een andere naam om dit origineel te houden."
End If
If Range("Vragenlijst!L1").Value = "" Then
' Cancel = True
MsgBox "Vul voor opslaan eerst de applicatienaam in in cel L1 van het tabblad 'vragenlijst'."
End If
End Sub
Punt 2 is wat moeilijker. Weet iemand hoe ik 'save' door kan sluizen naar 'save as'?
Verder wil ik dan ook nog dat er een bestandsnaam wordt voorgegenereerd. Dit kan ik doen (toch?) door (String):
Code:
Bestandsnaam = "UHAL-Kwadrant - vragenlijst " & Str(Range("Vragenlijst!L1").Value) & " (" & Format (Date, "dd") & "-" & Format (Date, "mm") "-" & Format(Date, "yyyy") & ") .xls"
Heeft er iemand alsjeblieft antwoord op mijn drie vragen?
