您好,我想在代码中找到一个特定的值,然后代码应转到左侧,直到他找到另一个值。
因此,如果我在“工作计划”中添加新行,那么我希望代码从值1的最后一个单元格向左移动,然后在“存储”中找到第一个“ MFG”,之后代码应转到直到找到“ MFG5”为止。之后,他复制颜色并将其添加到“ AGA”(此部分已解决)。
到目前为止,这是我的代码。
Sub Color_Row()
Dim lastrow As Long
Dim rng2 As Range
' Find MFG in Storage
fColumn = ActiveSheet.Cells(lastrow, Columns.Count).End(xlToLeft).Column - 4
rowIdx = Columns(fColumn).Find(What:="MFG", LookAt:=xlWhole, MatchCase:=False).Row
' Now in Storage go to left an find "MFG5"
' Copy Color and Add to "AGA"
ColorToCopy = Cells(rowIdx, fColumn).Interior.Color
farbe = ActiveSheet.Cells(lastrow, rng2.Column).Find(What:="DEL", SearchOrder:=xlByColumns, SearchDirection:=xlPrevious).Column - 3
ActiveSheet.Cells(lastrow, farbe).Interior.Color = ColorToCopy
End sub
我希望有人可以帮助我。
答案 0 :(得分:1)
为什么不使用do while循环? 当我弄对时,您已经具有“ MFG”值正确的单元格了吗? 然后您想向左移动,直到该值为'MFG5',对吗?
Dim count As Integer
count = 0
Do while Worksheets(sheet).Cells(rowIdx, fColumn-count).Value <> "MFG5"
count = count +1
Loop
然后,值为“ MFG5”的单元格为Cells(rowIdx,fColumn-count)