Als ik in Excel een macro opneem, wil ik een getal (willekeurig) kunnen invoeren. Hoe kan ik dat voor elkaar krijgen, zodat de macro stopt op het moment van input?

Anoniem
2024-11-18T16:35:34+00:00

Ik heb via de button "Macro opnemen" een macro uitgevoerd. Nu wil ik, dat de macro, nadat hij wacht totdat er een cijfer(via Enter) ingevoerd is. Daarna weer teruggaat naar het Hoofdmenu.

Microsoft 365 en Office | Excel | Voor thuisgebruik | iOS

Vergrendelde vraag. Deze vraag is gemigreerd vanuit de Microsoft Ondersteuning-community. U kunt met een stem aangeven of de inhoud nuttig is, maar u kunt geen opmerkingen of antwoorden toevoegen of de vraag volgen.

0 opmerkingen Geen opmerkingen
Antwoord geaccepteerd door vraagauteur
Anoniem
2024-11-20T09:25:34+00:00

@Joop,

Hieronder een envoudig voorbeeld van een macro waarmee je misschie verder kunt.

Als in de inputbox wat is ingevoerd, wordt gecontroleerd of die invoer wel een getal was en als het dat was, of het groter dan 0 en kleiner dan 73 was. Als daaraan niet voldaan is, gaat de macro terug naar het begin, net zo lang totdat de invoer wel in orde is. En is de invoer in orde, dan wordt cel A1 in het blad 'Menu' geselecteerd. Omdat je met 2 verschillende bladen werkt, is de naam van het blad telkens vermeld, anders bestaat het gevaar dat het getal dat wordt ingevoerd niet in het juiste blad terecht komt. Aangenomen is dat je naast het blad 'Menu' ook het blad 'Blad1'gebruikt.

Sub macro1() 

Dim getal As Integer 

Begin: 

getal = InputBox("Voer een getal in tussen 0 en 73") 

If WorksheetFunction.IsNumber(getal) And getal > 0 And getal < 73 Then 

Sheets("Blad1").Range("E2").Value = getal 

Else 

GoTo Begin 

End If 

Application.Goto Sheets("Menu").Range("A1") 

End Sub

Was dit antwoord nuttig?

1 persoon vond dit antwoord nuttig.
0 opmerkingen Geen opmerkingen

15 extra antwoorden

Sorteren op: Meest nuttig
  1. Anoniem
    2024-11-22T10:49:00+00:00

    Sorry, vergeten.

    Formule werkt tot aan ongelijkheid T1 en T3, dan kan ik gegevens invullen.

    De onderstaande formule werkt echter niet, als T1 gelijk wordt aan T3.

    Hieronder alsnog de formule:

    Sub Spelers_invullen()

    '

    ' Spelers_invullen Macro

    '

    ' Sneltoets: Ctrl+i

    '

      Sheets("Spelerslijst").Select 
    
    Range("B2").Select 
    
    If Range("T1") = Range("T3") Then 
    
    Application.Goto Sheets("Menu").Range("A1") 
    
    End If 
    

    End Sub

    Was dit antwoord nuttig?

    0 opmerkingen Geen opmerkingen
  2. Anoniem
    2024-11-22T04:26:23+00:00

    Helaas nog niet helemaal opgelost. Met onderstaande formule kan ik wel de spelers invullen, maar zodra S1 gelijk is aan S3, gaat het niet naar tabblad Menu.

    Ik zie geen formule, maar als je de code uit mijn vorig bericht gebruikt en in plaats van C3 en D3 S1 en S3 invul, dan ga je naar het blad Menu als S1 gelijk is aan S3. Lees ook wat ik in vorig bericht onder de code plaatste.

    Was dit antwoord nuttig?

    0 opmerkingen Geen opmerkingen
  3. Anoniem
    2024-11-21T21:11:30+00:00

    Goeden avond.

    Helaas nog niet helemaal opgelost. Met onderstaande formule kan ik wel de spelers invullen, maar zodra S1 gelijk is aan S3, gaat het niet naar tabblad Menu.

    Was dit antwoord nuttig?

    0 opmerkingen Geen opmerkingen
  4. Anoniem
    2024-11-21T05:57:08+00:00

    Voorbeeld, als je met 'het menu aanroepen' bedoelt: naar het blad 'Menu' gaan.

    If Range("C3") = Range("D3") Then 
    
    Application.Goto Sheets("Menu").Range("A1") 
    
    End If
    
    • De regel met application moet je in de macro maar 1 keer gebruiken en plaats je best op het einde. Als je daar van ergens midden in de macro naar toe wil, kun je Goto Einde gebruiken, als je boven de regel met Application het woord Einde: hebt geplaatst.
    • Een menu maak je (doorgaans) in een userform, waarbij je de gebruiker ui meerdere mogelijkheden laat kiezen.

    Was dit antwoord nuttig?

    0 opmerkingen Geen opmerkingen