I have a user form that when I enter data, I need it to start at D18 and counts down a line after each entry till D42, than start up at D50 etc.. see ranges below:

Range("D18:D42")
Range("D50:D89")
Range("D96:D135")

Set rngNext = ws.Range("D" & Rows.Count).End(xlUp).Offset(1)
rngNext.Value = TextBox2.Value

This seems to work except it starts at D96, instead of at D18