Ik heb een worksheet waarvan een aantal cellen een naam gekregen hebben via de "Name Manager"
Nu wil ik bepaalde acties uitvoeren in VBA wanneer één van die cellen gewijzigd is door de gebruiker, dus via de Private Sub Worksheet_Change(ByVal Target As Range) routine.
Echter de property Target.NameLocal bestaat niet
Dus heb ik onderstaande code in elkaar gebokst die mij de naam geeft van de gewijzigde cel.
Ipv de MsgBox komt finaal natuurlijk een call naar een bepaalde functie afhankelijk van de gewijzigde cel.
Dit werkt wel maar lijkt mij redelijk omslachtig
Bestaat hiervoor een kortere manier of een property van Target die ik niet ken.
Alvast bedankt voor uw reactie!
Nu wil ik bepaalde acties uitvoeren in VBA wanneer één van die cellen gewijzigd is door de gebruiker, dus via de Private Sub Worksheet_Change(ByVal Target As Range) routine.
Echter de property Target.NameLocal bestaat niet

Dus heb ik onderstaande code in elkaar gebokst die mij de naam geeft van de gewijzigde cel.
Ipv de MsgBox komt finaal natuurlijk een call naar een bepaalde functie afhankelijk van de gewijzigde cel.
Code:
Private Sub Worksheet_Change(ByVal Target As Range)
Dim MyName As Name
Dim strTargetName As String
'Scroll door alle namen op zoek naar een adres gelijk aan dat van "Target"
'Eerste test zorgt ervoor dat namen waarvan de cel verwijdert werd geen foutmelding geeft
'Refers to geeft de waarde [=Sheet1!#REF!] in de Name Manager
For Each MyName In ActiveWorkbook.Names
If Not IsError(MyName.RefersToRange.Address) Then
If MyName.RefersToRange.Address = Target.Address Then
strTargetName = MyName.NameLocal
Exit For
End If
End If
Next MyName
'Actie volgens gevonden naam, indien niets gevonden: Case Else
Select Case strTargetName
Case "rngFolder"
MsgBox "1: " & strTargetName
Case "rngDateStart"
MsgBox "2: " & strTargetName
Case "rngDateEnd"
MsgBox "3: " & strTargetName
Case "rngTimeStart"
MsgBox "4: " & strTargetName
Case "rngTimeEnd"
MsgBox "5: " & strTargetName
Case Else
MsgBox "No name for changed cell!!"
End Select
End Sub
Dit werkt wel maar lijkt mij redelijk omslachtig

Bestaat hiervoor een kortere manier of een property van Target die ik niet ken.
Alvast bedankt voor uw reactie!