Within the most scenarios there is no need to select anything with actions/macros else the simple and direct selecting of values from the list-boxes is sufficient to get the wanted subset of data. Exactly for this has Qlik the associative datamodel which is easy usable by the color-logic of green + white + grey.
There are very seldom occasions in which it makes sense to take the efforts to put own logics on top of it - but it's never sensible to try to replace the native logics with own ones.
What exactly do you mean by associative datamodel? Could you guide me on it please? I was thinking it was just a simple "AND" or "OR" I was missing in my logic (I tried & and |), but if there is a simpler way to do that it would be great.
Associative data-model means that the data are - properly - linked to each other. In your case that color and food are associated and selecting the color red makes this value green within the list-box and leads to white values of apples, cherries, ... within the food list-box. An additionally selecting of those food values is not needed - it wouldn't have any added value.