John,
See if this does what you want it to do. Note you need to add headings to sheet 2.
Sub ShowForm()
'//Look in the A column for an empty row
With ActiveSheet.Range("A1")
Range("A1").Select
Do
If IsEmpty(ActiveCell) = False Then
ActiveCell.Offset(1, 0).Select
End If
Loop Until IsEmpty(ActiveCell) = True
Set FromOrigin = ActiveCell
End With
'//Prompt for the number of columns required
NumColumns = Application.InputBox(prompt:="How many columns? (Enter an integer to continue)", Title:="NUMBER OF COLUMNS", Type:=2)
If NumColumns = Empty Then End
'//Set the default number of rows = 4
For Y = 0 To 3
For X = 0 To NumColumns - 1
With ActiveSheet
FromOrigin.Offset(Y, X).Select
Heading = ActiveSheet.Range("A1").Offset(0, X)
DataIs = Application.InputBox(prompt:="Type in " & Heading & " and hit Enter - leave blank or click Cancel to Exit", Title:=Heading, Type:=2)
If DataIs = Empty Then End
Selection.Value = DataIs
End With
Next X
Next Y
End Sub