Q:

Looping through a range using a msgbox

I have hit a bit of a wall when looping through a range. What I have done is created a table which when a qty is selected in the table a range from that table is transported to another array on the next blank line. What I would like to do to speed up the process is if I would like to add the same information a second time to the next line down a msgbox asking yes or no, and then to loop through.
Below is my code and I have tried a couple variations of this without success
Sub Add()

Dim foundCell As Range
Dim mysearch As Integer
Dim iRow As Long, Last As Long
Dim ws1 As Worksheet, ws2 As Worksheet

Set ws2 = Worksheets("Output")

iRow = ws2.Cells(ws2.Rows.Count, "V").End(xlUp).Row + 1
Last = ws2.Cells(ws2.Rows.Count, "N").End(xlUp).Row

    mysearch = ws2.Range("N10").Value

If ws2.Range("N10").Value = 0 Then
    MsgBox "No Product Selected"
    Exit Sub
    Else
    Do
    Set foundCell = ws2.Range("N12:N" & Last).Find(What:=mysearch, Lookat:=xlWhole)
        If Not foundCell Is Nothing Then
            ws2.Cells(iRow, 22).Value = foundCell.Offset(0, -3).Value
            ws2.Cells(iRow, 23).Value = foundCell.Offset(0, -4).Value
            ws2.Cells(iRow, 24).Value = foundCell.Offset(0, -2).Value
            ws2.Cells(iRow, 25).Value = foundCell.Offset(0, -1).Value
            ws2.Cells(iRow, 26).Value = foundCell.Offset(0, 1).Value
            ws2.Cells(iRow, 27).Value = foundCell.Value
            ws2.Cells(iRow, 28).Value = foundCell.Offset(0, 2).Value
        answer = MsgBox("Would you like to add this product to the next line?", vbYesNo + vbQuestion, "MORE PRODUCTS?")
            If answer = vbYes Then
                Loop
                Else
                'Exit Sub
            End If
        End If
End If

Sheets("Output").Range("N12:N35").ClearContents

End Sub

A:

I'm not sure if i get you right but this is what i understood 
Option Explicit

Sub Add()

    Dim foundCell As Range
    Dim mysearch As Integer
    Dim iRow As Long, Last As Long
    Dim ws1 As Worksheet, ws2 As Worksheet
    Dim answer As Boolean

    Set ws2 = Worksheets("Output")

    iRow = ws2.Cells(ws2.Rows.Count, "V").End(xlUp).Row + 1
    Last = ws2.Cells(ws2.Rows.Count, "N").End(xlUp).Row

        mysearch = ws2.Range("N10").Value

    If ws2.Range("N10").Value = 0 Then
        MsgBox "No Product Selected"
        Exit Sub
    Else
        Set foundCell = ws2.Range("N12:N" & Last).Find(What:=mysearch, Lookat:=xlWhole)
        If Not foundCell Is Nothing Then
            Do 'this way it'll copy at least once
                answer = CopyCells(foundCell, ws2, iRow)
            Loop While answer 'copy till user choose NO
        End If
    End If

    Sheets("Output").Range("N12:N35").ClearContents
End Sub

Function CopyCells(SrcRange As Range, DestWs As Worksheet, iRow As Long) As Boolean

    Dim UserChoice As Long

    DestWs.Cells(iRow, 22).Value = SrcRange.Offset(0, -3).Value
    DestWs.Cells(iRow, 23).Value = SrcRange.Offset(0, -4).Value
    DestWs.Cells(iRow, 24).Value = SrcRange.Offset(0, -2).Value
    DestWs.Cells(iRow, 25).Value = SrcRange.Offset(0, -1).Value
    DestWs.Cells(iRow, 26).Value = SrcRange.Offset(0, 1).Value
    DestWs.Cells(iRow, 27).Value = SrcRange.Value
    DestWs.Cells(iRow, 28).Value = SrcRange.Offset(0, 2).Value

    UserChoice = MsgBox("Would you like to add this product to the next line?", vbYesNo + vbQuestion, "MORE PRODUCTS?")

    If UserChoice = 6 Then
        CopyCells = True
        iRow = iRow + 1
    Else
        CopyCells = False
    End If

End Function

Might need some adjustments. Maybe you could post your input and desired output? 

