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

Macro eerst opslaan dan pas verder

  • Onderwerp starter Onderwerp starter Hoppa
  • Startdatum Startdatum
Status
Niet open voor verdere reacties.

Hoppa

Gebruiker
Lid geworden
8 jan 2005
Berichten
65
Ik heb een macro waarin dmv een button de file met een bepaalde format wordt opgeslagen. Na het invullen van 2 velden moet de file opgeslagen worden.

Wat ik wil is dit:
De file wordt geopen.
Voordat men nu verder gaat met van alles in te vullen moeten ze eerst 2 velden verplicht invullen en daarna de knop opslaan gebruiken.

Hoe krijg ik deze melding voor elkaar en hoe krijg ik het voor elkaar dat als ze toch eerst wat anders willen doen ze een foutmelding krijgen?

vast bedankt

Rin
 
Stel het gaat om cel A1 en A2. Dan zet je in cel C3 bv aantalarg(a1:a2). Is dit kleiner dan 2, zet je in de macro:
sub aaa()
If range("a3")<2 then
msgbox" "a1 en a2") invullen"
else
run "macroXXX"
end if
End Sub
 
thx for de macro.

Bij mij doet de macro niets. Als ik hem intyp zoals jij hebt gedaan dan krijg ik foutmeldingen: instructie-einde verwacht.
Ik heb hem nu zonder foutmelding maar dan doet ie het niet.
Dit is wat nu in de macro staat:
Sub verplichtinvullen()

If Range("K1") < 2 Then
MsgBox " (Opdrachtgever en Project) invullen"
Else
Run "macroOpslaanals"
End If


End Sub


Sub Opslaanals()

'
' Automatisch opslaan
' De macro is opgenomen op 7-1-2005 door Rini.
'

'
Dim sText As String


sText = ActiveSheet.Range("bmOpdrachtgever") & "-" & ActiveSheet.Range("bmProject") & "-" & Format$(Now, "dd-mm-yyyy") & ".xls"

ChDir "K:\BESTAND\RIV Engineering\Urenramingen 2005"

ActiveWorkbook.SaveAs sText

End Sub

Kun je zien wat er mis mee is?

mvg

Rini
 
sub aaa()
If range("a3")<2 then
msgbox "a1 en a2" invullen"
else
run "macroXXX"
end if
End Sub


Sorry. Beetje met de " lopen kloeten in de msgbox. Dit moet hem zijn,
 
Ha,

ik heb hem werkend!

Alleen werkt nu de verwijzing

Run "macro Opslaanals"

niet.

Syntax is goed van de macronaam

gr

Rini
 
Weet je zeker dat de macronaam niet "Opslaanals" is ipv "macro Opslaanals"
 
Hij werkt met de volgende macro:

Sub Verplichtinvullen()

If Range("k1") < 2 Then

MsgBox "Opdrachtgever kiezen en projectnaam intypen"

Else

Application.Run "Opslaanals"

End If

End Sub

Toch nog een andere vraag:

Kan hier dan nog iets tussen waardoor het ook niet mogelijk is om ook maar iets in te vullen in welk veld dan ook voordat de gebruiker bovenstraande heeft gedaan?

Dus behalve dat ze verplicht worden de 2 velden in te vullen ze na het invullen ook meteen de knop moeten aanklikken voor het opslaan? Of is dat te moeilijk?

Vast bedankt weer!!!!!!!!!!!!!!
 
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Range("a1") = 0 Or Range("a2") = 0 Then
MsgBox "a1 en a2 zijn verplicht"
Else
End If
End Sub

Heel vervelend voor ze als ze het niet doen
 
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Range("a1") = 0 Or Range("a2") = 0 Then
MsgBox "a1 en a2 zijn verplicht"
If Range("a1") = 0 Then
Range("a1").Select
Else
Range("a2").Select
End If
Else
End If
End Sub


En zo springt ie naar het ontbrekende veld
 
Allereest bedamkt voor de hulp, waardeer het zeer.

Ik heb onderstaande ingevoerd:
Private Sub Worksheet_SelectionChange(ByVal Target As Range)

If Range("bmOpdrachtgever") = 0 Or Range("bmProject") = 0 Then
MsgBox "INVULLEN OPDRACHTGEVER EN PROJECTNAAM VERPLICHT!!!!!"

If Range("bmOpdrachtgever") = 0 Then
Range("bmOpdrachtgever").Select
Else
Range("bmProject").Select
End If
Else
End If
End Sub

Moet ik hier een aparte module van maken of (zoals ik nu heb gedaan, invoegen bij 'this workbook" bij excel objecten?
Met dat laatste werk het niet. Ik kan nog steeds van alles invullen zonder dat ik een melding krijg dat ik eerst die velden in moet vullen en opslaan.
 
Niet invoegen bij this workbook, maar in het betreffende blad. Blad 1 bv
 
Je ziet dus bij je VBA projecten This workboek, Module 1, 2 enze en blad 1, 2 3 enzo. Je moet hem dus plakken in blad1 bv als dat het actieve blad is.
 
thx!!!!!!!!!!!!!!!!!!!!

Hij werkt als een speer behalve dat hij na 1 klik op de message box de message box laat staan. 2 keer klikken moet je om de messagebox te sluiten. Dat vind ik niet zo een ramp.

Zeer bedankt kusje!
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan