C列になし、0、文字列があって、
条件分岐で
C列が文字列であれば転記する文字列をそれに変更。転機列のD列には転記しない
C列がなしであれば同じ行のD列を見に行ってブランクであれば文字列を転記、文字が既にあれば転記しない
C列が0であれば次の文字列まで移動

上記のようなのは関数だと不可能だと思うので、マクロでどのように作ればいいでしょうか