在sorting时陷入运行模式
我试图通过stringsby中的文本将sheet 2
上的数据sorting到sheet 9
。
我认为从下面的代码逻辑很简单。
但是下面的代码给了
运行时错误1004; 为行
wk.Rows(j).EntireRow.Select
select范围类失败的方法
更新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