Try reverse engineering this solution:
FindLastRow = Cells(ThisWorkbook.Worksheets(OnWhatsheet).Rows.Count, 1).End(xlUp).Row
Function LoopForMove(FromWhatSheet, ToWhatSheet)
Dim LastRow, Cnt
Dim CellValue As String
If WhatCol = "" Then
WhatCol = "A"
If Qualif = "" Then
Qualif = "X"
LastRow = FindLastRow(FromWhatSheet)
For Cnt = LastRow To 1 Step -1
CellLoc = WhatCol & Cnt
CellValue = ThisWorkbook.Worksheets(FromWhatSheet).Range(CellLoc).Value
If CellValue = Qualif Then
nret = Moveit(FromWhatSheet, CellLoc, ToWhatSheet)
Function Moveit(FromSheet, WhatRange, ToWhere)
MoveSheetLastRow = FindLastRow(ToWhere)
Application.CutCopyMode = False
This will do what you are asking, you just have to configure it!
I am not in the business of providing TURN key solutions, but I attempt to help you LEARN how to provide your OWN solutions. Please Do not ask me to alter this code, but I will answer questions regarding how to deploy it. This is a very simple set, and you should be able to get it to run on your workbook. Hint, deploy it in a MODULE. PLease understand, NO sheet will ever do any moving without USER interaction first, so what that means, is you will have to PRESS a KEY, OR A BUTTON or something!