I am glad you found the answer.
Why are you prefixing different Types of variables with the prefix that indicates a variable of Type String?
I see a variable named "Rng" that is a Object Type variable
I see a variable named "Rng" that is a Variant Type variable
I see a variable named "Object" that is a String Type variable
All three variables carry the prefix that indicates the String Type
It is extremely confusing to other programmers. It almost guarantees that we won't understand your code.
Looking at the Name Manager image (I don't have Name Manager) you might try this
ActiveSheet.Shapes.Range(strRNG.Name.Name).Fill.ForeColor.ObjectThemeColor = msoThemeColorAccent2
Where strRNG is a Range Object:
strRNG.Name is a Defined Name Object (Worksheet.Names("Greece"))
strRNG.Name.Name is a String ("Greece")
strRNG.Name.Value is the RefersTo string ("=Freeform10")
What I really don't understand is why you didn't give the FreeForms Names like "ffGreece" and "ffTurkey"? Then this would work
For Each Cel in Target
ActiveSheet.Shapes.Range("ff" & Cel.Text).Fill.ForeColor.ObjectThemeColor = msoThemeColorAccent2