• 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 aan knop koppelen

Status
Niet open voor verdere reacties.

hendriks245

Gebruiker
Lid geworden
23 mrt 2007
Berichten
50
Beste mensen,

Ik zit zelf al een tijdje te stoeien met de volgende vraag (waarschijnlijk basis VBA-kennis). Ik heb de volgende, overigens niet zelf geschreven, marco. Deze macro wordt automatisch uitgevoerd, wanneer het tabblad wordt geopend. Ik zou graag willen dat de gehele macro pas wordt uitgevoerd, als ik op een knop druk. Wat moet ik wijzigen om 'm aan een knop te kunnen koppelen? Alvast bedankt voor de reacties!

Dit is de macro:

Code:
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
  For i = 1 To Sheets.Count
    Cells(i, 23).Value = Sheets(i).Name
  Next i
End Sub
Private Sub Worksheet_Activate()
    Range("W1:W100").ClearContents
    Range("C8").Select
    Range("C9").Select
End Sub
Private Sub Worksheet_Change(ByVal Target As Range)
    ActiveSheet.ChartObjects("Chart 3").Activate
ActiveChart.ChartArea.Select
    With ActiveChart.Axes(xlValue)
        .MinimumScale = Range("G72")
        .MaximumScale = Range("G73")
        .MajorUnitIsAuto = True
    End With
ActiveSheet.ChartObjects("Chart 4").Activate
ActiveChart.ChartArea.Select
    With ActiveChart.Axes(xlValue)
        .MinimumScale = Range("G72")
        .MaximumScale = Range("G73")
        .MajorUnitIsAuto = True
    End With
End Sub
 
Haal de macro weg onder de plek waar deze nu staat. En plaats deze in een module of direct onder een knop. Wel even de naam aanpassen van "Private Sub Worksheet_SelectionChange(ByVal Target As Range)" naar iets van mijn_eerste_keer(). <Alt> + <F11> is de wonder combinatie om het eea te regelen.
 
Bedankt voor de reactie!
Hiermee kom ik inderdaad al een stukje verder, maar ik wil graag dat deze gehele macro (zijn nu drie Sub's, of hoe noem je die dingen...:D) totaal wordt uitgevoerd. Hoe kan ik de drie maco's koppelen? Gewoon "End Sub" er tussenuit halen heeft geen zin heb ik gemerkt...
 
Ga naar de knop en rechtermuis klik op properties.
Klik op event en kies voor On Click. Vanaf hier kan je een macro aanmaken.
 
De stukjes code die je gevonden hebt zijn allemaal Event codes. En staan staan dus onder de code van een blad. Je zal deze uit de bladen moeten halen en een gewone naam moeten geven.

Dan krijg je in de module of onder de knop zoiets:
Sub 1 ()
Jouw code
End Sub

Sub 2 ()
Jouw code
End Sub

Sub 3 ()
Jouw code
End Sub
 
Elke sub dient toch een eigen (andere) naam te krijgen? En ik kan maar één sub aan de knop koppelen, met als resultaat dat niet de drie sub's in één keer worden uitgevoerd. Dus als ik sub1() aan de knop koppel, worden sub2() en sub 3() niet uitgevoerd... Of maak ik een denkfout?
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan