Here you go
A couple of pointers - name your controls! It's much easier to move data around if you know what each item is. Also, comments are your friends. One programmer might have been of the opinion that "It was hard to write - it should be hard to understand!" but I disagree. Believe me, you put this down for a couple of weeks and go back to it, and you'll spend the first hour just trying to work out what everything does.
Lecture over.
I've commented out your original code and renamed all the controls. I've also got rid of the frame, and replaced the check boxes with option buttons in named groups. I've also commented out the line of code that close the application after setting the saved status to True - this caused a (brief) loss of data when I clicked "No" by accident. You probably want to revisit this, unless this functionality works in conjunction with something else.
The form now uses the value in grpType (saved in a global variable as a number) to derive the name of the required sheet. It uses the value in grpReason to determine which Reason column requires populating. It then finds the next vacant cell in column A below row four, and generates the next number (either 1 if the cell above is not numeric, or the value of the cell above plus 1). Finally it dumps the contents of the text boxes into the relevant cells in that row. It foes not change the focus in order to do this - it happens invisibly (unless the target area is visible). Enjoy!