Macro onderbreken

Anoniem
2014-04-18T07:54:06+00:00

Weet iemand hoe je in een macro die je maakt, met een toets die macro kunt onderbreken (om een variabele in te vullen of op een bepaalde kolom kunt gaan staan) waarna je een "enter" kunt geven en die macro weer verder loopt? Vroeger kon je dat in LOTUS bereiken door een ? (vraagteken) in de macro te plaatsen. De macro stopte dan, je vulde een variabele in of ging naar een bepaalde kolom je gaf een "enter"en de macro liep weer verder. Ik heb dat vraagteken geprobeerd maar dat werkt niet. Na het googelen op dit onderwerp zag ik ergens dat het de toets "Esc" zou zijn maar dat is het ook niet.

Ik ben benieuwd.

Hans

Microsoft 365 en Office | Excel | Voor thuisgebruik | Windows

Locked Question. This question was migrated from the Microsoft Support Community. You can vote on whether it's helpful, but you can't add comments or replies or follow the question.

0 opmerkingen Geen opmerkingen
Answer accepted by question author
Anoniem
2014-04-23T13:08:05+00:00

Dag Hans,

Bedankt voor de feedback, ben blij dat je de oplossing gevonden hebt. Je ziet, zelfs met een 76-jarige pet kan het nog altijd.

Was dit antwoord nuttig?

0 opmerkingen Geen opmerkingen
Answer accepted by question author
Anoniem
2014-04-21T15:51:31+00:00

Probeer dit eens:

Bold moet je toevoegen/aanpassen.

Sub sorteervanhoognarlaag()

'

' sorteervanhoognarlaag Macro

'

' Sneltoets: Ctrl+k

'

Dim varCol As Variant

    Range("A6:G15").Select

    ActiveWorkbook.Worksheets("Blad1").Sort.SortFields.Clear

varCol = InputBox(prompt:="Enter the column to sort")

    ActiveWorkbook.Worksheets("Blad1").Sort.SortFields.Add Key:=Range(varCol& "6:" & varCol & "15"), _

        SortOn:=xlSortOnValues, Order:=xlDescending, DataOption:=xlSortNormal

    With ActiveWorkbook.Worksheets("Blad1").Sort

        .SetRange Range("A6:G15")

        .Header = xlGuess

        .MatchCase = False

        .Orientation = xlTopToBottom

        .SortMethod = xlPinYin

        .Apply

    End With

End Sub

Was dit antwoord nuttig?

0 opmerkingen Geen opmerkingen

23 extra antwoorden

Sorteren op: Meest nuttig
  1. Anoniem
    2014-04-18T15:16:55+00:00

    Hans,

    Laad je bestand op je onedrive, deel het, en plaats de link hier, dan kunnen we even kijken. Vertrouwelijke info verwijderen graag.

    P.S. Er zijn geen "domme vragen", alleen wijzen die ze niet kunnen oplossen.

    Was dit antwoord nuttig?

    0 opmerkingen Geen opmerkingen
  2. Anoniem
    2014-04-18T14:32:36+00:00

    Thank you JP. Je hebt hier te doen met een dummy dus ik snap er niks van. Ik zoek naar één enkele toets waarmee ik een macro tijdens zijn/haar loop kan onderbreken om iets in te vullen of de cursor naar een bepaalde plaats te sturen. In lotus kon dat vroeger met een vraagteken. Ik heb een voorbeeldje bijgesloten. Ik heb, met een macro kolom D gesorteerd van hoog naar laag. Als ik nu, bij volgende uitslagen kolom E met diezelfde macro wil sorteren zal ik de macro invoer "aangepast sorteren" moeten onderbreken om in plaats van D, E in te vullen. De macro kan daarna weer doorlopen. Kan dat?

    niettemin hartstikke bedankt zover.

    p.s.

    Ik kan geen bijlage toevoegen kennelijk maar misschien begrijp je het zo ook wel.

    Hans

    Was dit antwoord nuttig?

    0 opmerkingen Geen opmerkingen
  3. Anoniem
    2014-04-18T11:10:28+00:00

    Hans,

    Er zijn meerdere manieren om een macro te onderbreken afhankelijk wat je wenst.

    CTRL+BREAK is er bijvoorbeeld 1 van. Je kan ook de escapehandler inbouwen.

    Sub test()

       On Error GoTo error_handler

       Application.EnableCancelKey = xlErrorHandler

       Exit Sub

    error_handler:

       Select Case Err.Number

          Case 18

             ''' escape key pressed

          Case Else

       End Select

    End Sub

    Als je input wilt vragen en daarna de macro verder laten lopen heb je de Inputbox of Userform

    var =Inputbox ....

    Als je ranges wilt selecteren kan je een Userform gebruiken met daarin een RefEdit control. Door het te klikken kan je dan een range selecteren, terugkeren naar je form en verder "lopen".

    Was dit antwoord nuttig?

    0 opmerkingen Geen opmerkingen