Excel VBA循环不停止基于Activecell值

我有一个循环,需要停止活动单元格的值是“BBSE”,但它通过单元格,并继续循环。 有人可以帮助我呢? 我在一张纸上剪下了一排桌子,然后粘贴到另一张桌子上。 在列FI列表之前有许多空白单元格,因此,我是我的xldown。 这是相关的代码:

'Illuminators Worksheet OP_wb.Activate Range("F2").End(xlDown).Select Do Until ActiveCell.Value = "BBSE" OP_wb.Activate Worksheets("Optic Main").Activate Range("F2").End(xlDown).Select Selection.EntireRow.Cut Demand_WB.Activate Worksheets("Illuminators").Activate Range("A" & Rows.Count).End(xlUp).Offset(1).Select ActiveSheet.Paste Loop 

这里是我想要停止在红圈的循环:

在这里输入图像说明

这就是我使用END.xlDown的原因

在这里输入图像说明

如果我理解你正在努力达到的目标,我相信下面的事情会实现:

 Dim startRow As Long Dim endRow As Long With OP_wb.Worksheets("Optic Main") startRow = .Range("F2").End(xlDown).Row endRow = .Columns("F").Find(What:="BBSE", LookIn:=xlValues, LookAt:=xlWhole).Row .Rows(startRow & ":" & endRow).Cut End With With Demand_WB.Worksheets("Illuminators") .Range("A" & .Rows.Count).End(xlUp).Offset(1).Insert Shift:=xlDown End With 

可以这样试试…

 'Mentioning Starting Row Here x = 2 Do 'x refers to Row and F refer to column name With Cells(x, "F") 'Exiting Do Loop once it finds the matching value using If statement If .Value = "BBSE" Then Exit Do OP_wb.Activate Worksheets("Optic Main").Activate .EntireRow.Cut Demand_WB.Activate Worksheets("Illuminators").Activate Range("A" & Rows.Count).End(xlUp).Offset(1).Select ActiveSheet.Paste End With 'Incrementing row number here to move on to next row x = x + 1 Loop