bobelsenburg
Gebruiker
- Lid geworden
- 10 sep 2021
- Berichten
- 10
Goedemorgen,
Ik heb een vraag over het aan- en uitzetten van opslaan. Het document waar het om gaat mag enkel door specifieke gebruikers worden opgeslagen op ieder gewenst moment. Alle overige gebruikers kunnen enkel opslaan als zij een formulier submitten. Dit gebeurt via een macro FormNewEntrySubmit (er worden daarin nog wat andere zaken gedaan, bijvoorbeeld de data op de volgende nieuwe regel die beschikbaar is plaatsen, dat werkt allemaal al maar voor de volledigheid heb ik even de hele macro weergegeven).
Daarnaast heb ik onderstaande Private Sub in ThisWorkbook om ervoor te zorgen dat alleen de gespecificeerde users het originele bestand kunnen opslaan.
Wat ik dus graag wil, is dat op het moment dat iemand op Submit drukt, de macro tijdelijk opslaan toestaat, aan het eind van die macro (dus wanneer het formulier op de volgende lege regel is geplaatst, zie de macro FormNewEntrySubmit). Ik zal hetzelfde toepassen op een andere macro die het formulier leegt, maar als ik weet hoe ik bovenstaande moet oplossen, dan kan ik dat waarschijnlijk ook gemakkelijk toevoegen aan de Clear-macro.
Kan iemand mij hiermee helpen?
Alvast veel dank!
Ik heb een vraag over het aan- en uitzetten van opslaan. Het document waar het om gaat mag enkel door specifieke gebruikers worden opgeslagen op ieder gewenst moment. Alle overige gebruikers kunnen enkel opslaan als zij een formulier submitten. Dit gebeurt via een macro FormNewEntrySubmit (er worden daarin nog wat andere zaken gedaan, bijvoorbeeld de data op de volgende nieuwe regel die beschikbaar is plaatsen, dat werkt allemaal al maar voor de volledigheid heb ik even de hele macro weergegeven).
PHP:
Sub FormNewEntrySubmit()
'
' FormNewEntrySubmit Macro
Sheets("Form new entry").Select
Sheets("Form MACRO").Visible = True
Sheets("Approval").Select
Nr = Cells(Rows.Count, "C").End(xlUp).Offset(1, 0).Row
Sheets("Form MACRO").Select
Range("A2:Q2").Copy
Sheets("Approval").Select
Range("A" & Nr).PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Sheets("Form MACRO").Select
ActiveWindow.SelectedSheets.Visible = False
Sheets("Form new entry").Select
ActiveWorkbook.Save
End If
Daarnaast heb ik onderstaande Private Sub in ThisWorkbook om ervoor te zorgen dat alleen de gespecificeerde users het originele bestand kunnen opslaan.
PHP:
Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean)
a = Application.UserName
If a <> "User 1" And a <> "User 2" And a <> "User 3" And a <> "User 4" Then
MsgBox "Saving not allowed." & vbCr & vbCr & "Submitting a form saves the input."
Cancel = True
End If
End Sub
Wat ik dus graag wil, is dat op het moment dat iemand op Submit drukt, de macro tijdelijk opslaan toestaat, aan het eind van die macro (dus wanneer het formulier op de volgende lege regel is geplaatst, zie de macro FormNewEntrySubmit). Ik zal hetzelfde toepassen op een andere macro die het formulier leegt, maar als ik weet hoe ik bovenstaande moet oplossen, dan kan ik dat waarschijnlijk ook gemakkelijk toevoegen aan de Clear-macro.
Kan iemand mij hiermee helpen?
Alvast veel dank!