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

Worksheet_Change toepassen met meerdere cellen

Status
Niet open voor verdere reacties.

Warme bakkertje

Meubilair
Lid geworden
13 apr 2008
Berichten
8.043
Besturingssysteem
Windows 10
Office versie
MO Home and Business 2024
Momenteel gebruik ik onderstaande code om een macro te starten door de waarde in cel N13 te wijzigen
Code:
Private Sub Worksheet_Change(ByVal Target As Range)
    Dim rngLaatsteInvoer As Range
    Set rngLaatsteInvoer = Range("N13")
    If Target.Address = rngLaatsteInvoer.Address Then
        Dim x As Long, MijnString As Long
        MijnString = Range("N13").Value   'Aantal herhalingen
        For x = 1 To MijnString
        Gegevensinvoer
        Next x
    End If
End Sub
Nu wil ik echter door de waarde van een andere cel(bv. N10) te wijzigen een andere macro starten, dit terwijl bovenstaande code ook moet blijven gelden.
Kan dit door bv Select Case te gebruiken (Zo ja,formulering aub) of moet ik dit op een andere manier benaderen?

Rudi
 
Laatst bewerkt:
Het kan op verschillende manieren.
Bijv. Met IF. Ik heb je code zo min mogelijk aangepast.

Code:
Private Sub Worksheet_Change(ByVal Target As Range)
Dim lAantal As Long
    If Target.Address = "$N$13" Then
        For lAantal = 1 To Range("N13").Value 'Aantal herhalingen
           Gegevensinvoer
        Next
    ElseIf Target.Address = "$N$10" Then
    
    'je andere macro
    
    End If
End Sub

Met Select Case.

Code:
Private Sub Worksheet_Change(ByVal Target As Range)
Dim lAantal As Long
    Select Case Target.Address
        Case "$N$13"
            For lAantal = 1 To Range("N13").Value 'Aantal herhalingen
               Gegevensinvoer
            Next
        Case "$N$10"
        
            'je andere macro
    
    End Select
End Sub

Met vriendelijke groet,


Roncancio
 
Je hebt bij de ws_change het adres van de veranderde cel als target.
met target.row en target.column kun je uitlezen om welke cel het gaat.
Dat gebruik je vervolgens in een if-then-else of een select case.

Hopelijk kun je hier verder mee.
mvg leo
 
Super, bedankt :thumb:
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan