|Why does your subject line mention A1 and C1, but your post mentions D5 and G3, G4, etc? That's a bit confusing.|
In any case, if we ignore your subject line and just deal with your post, you will need a macro to accomplish your goal.
This Worksheet_Change macro will fire whenever you make a change to the sheet but won't really do anything unless the change was made to D5.
I am assuming you have a column heading in G1.
Right-Click the sheet tab for the sheet you want this to happen in and choose View Code.
Paste this code into the pane that opens:
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Address = "$D$5" Then
nxtRw = Range("G" & Rows.Count).End(xlUp).Row + 1
Range("G" & nxtRw) = Target
When you make a change to D5, the code will determine the next empty cell in Column G and place the value from D5 into that cell.
Click Here Before Posting Data or VBA Code ---> How To Post Data or Code.