在sorting时陷入运行模式

我试图通过stringsby中的文本将sheet 2上的数据sorting到sheet 9

我认为从下面的代码逻辑很简单。

但是下面的代码给了

运行时错误1004; 为行wk.Rows(j).EntireRow.Selectselect范围类失败的方法

更新1:

我现在没有得到这个错误,但是它在很长一段时间里一直停留在[running]模式,我不得不中断代码的执行。 我正在尝试实现下面的I / O逻辑。 我认为我的代码应该可以工作,但要么需要很长的时间,要么陷入无限循环。 你能帮我吗

input:

 col B Commercial Tech Operation Commercial Commercial . . . . 

输出:

 col B Commercial Commercial Commercial Tech Operation . . . 

 Option Explicit Sub SortByCommercial() Dim wk As Worksheet Dim sby, FinalRow, i, j, p Dim WsCount As Integer WsCount = ActiveWorkbook.Worksheets.Count Dim wb As Workbook Set wb = ActiveWorkbook sby = "Commercial" For i = 2 To WsCount Set wk = Sheets(i) FinalRow = wk.Range("A900000").End(xlUp).Row p = FinalRow + 1 For j = 2 To FinalRow If Trim(wk.Range("B" & j).Text) <> sby Then wk.Rows(j).EntireRow.Select Selection.Cut wk.Range("A" & p).Select wk.Paste Rows(j).EntireRow.Select Selection.Delete Shift:=xlUp Range("A1").Select Application.CutCopyMode = False j = j - 1 Else: End If Next j Next i End Sub 

 Sub SortByCommercial() Dim wk As Worksheet Dim sby, FinalRow, i, j, p Dim WsCount As Integer WsCount = ActiveWorkbook.Worksheets.Count Dim wb As Workbook Dim lngRowTemp as Long Set wb = ActiveWorkbook sby = "Commercial" For i = 2 To WsCount Set wk = Sheets(i) Sheets(i).Activate For j = 2 To FinalRow FinalRow = wk.Range("A900000").End(xlUp).Row + 1 lngRowTemp = FinalRow -1 If Trim(wk.Range("B" & j).Text) <> sby Then wk.Rows(j).EntireRow.Select Selection.Cut wk.Range("A" & FinalRow).Select wk.Paste Application.CutCopyMode = False End If Next j for j = lngRowTemp to 2 step -1 if cells("B" & j).value = "" then cells("B" & j).EntireRow.Delete end if next j Next i End Sub