VBA查找值,然后左转到指定值

时间:2018-06-29 09:08:39

标签: excel vba excel-vba

您好,我想在代码中找到一个特定的值,然后代码应转到左侧,直到他找到另一个值。

在图片中,您可以看到我的桌子: enter image description here

因此,如果我在“工作计划”中添加新行,那么我希望代码从值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

我希望有人可以帮助我。

1 个答案:

答案 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)