Sub CopyDataToARRSt1() Dim inputWs As Worksheet Dim st1Ws As Worksheet Dim inputLastRow As Long Dim st1Row As Long Dim i As Long Dim copyFlag As Boolean ' Set references to worksheets Set inputWs = ThisWorkbook.Sheets("ARR Input") Set st1Ws = ThisWorkbook.Sheets("ARR St.1") ' Find the last row in column X of the input worksheet inputLastRow = inputWs.Cells(inputWs.Rows.Count, "X").End(xlUp).Row ' Initialize variables st1Row = 1 copyFlag = False ' Loop through column X of the input worksheet For i = 1 To inputLastRow If inputWs.Cells(i, "X").Value Like "**" Then ' Found "", start copying copyFlag = True ElseIf copyFlag And inputWs.Cells(i, "X").Value Like "*Completed BY RM*" Then ' Found "Completed BY RM", stop copying and paste data to ARR St.1 st1Ws.Cells(st1Row, "A").Value = inputWs.Cells(i, "X").Value st1Row = st1Row + 1 copyFlag = False ElseIf copyFlag Then ' Copy data between the tags st1Ws.Cells(st1Row, "A").Value = inputWs.Cells(i, "X").Value st1Row = st1Row + 1 End If Next i End Sub