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