When you say a 'dropdown in Column C', I don't think you're talking about a combo box, are you, but an auto drop based on data validation. If that's the case, then a macro can't trigger from that drop, only from a real combobox, which has a full range of events (to do what I think you're proposing you'd probably want code in the after update event.)
But what you can do is base your data validation on the value in a field. Here's how. Let's say you have 3 options in the column C validation, which might be:
Red
Blue
Green
And then Red has suboptions you want to appear in Column D of - say -
Light red
Dark red
Metallic red
Crimson
(other colours would have different lists.)
Type the list of 4 different reds into a spare column somewhere and name the range Red. Do the same for the Blue and Green options.
You can now set the data validation for Column D on a custom basis, as something like:
= INDIRECT(C1)
This will read the value in Column C and convert it to a range reference.
I haven't had time to actually do this, so you may need to play around with it a little, but it should give you the basis of a solution.