VBA Excel宏根据多个条件更新单元格值

时间:2016-06-28 05:33:07

标签: excel vba excel-vba

我无法解决这个问题,我的沸点上限,所以我真的可以使用你的指示或帮助。我在标题中附加了一张图片。我需要一个vba宏来更新/更改E列(Ve计划)中的值,其中包含以下等式:

  1. D列必须为空白。
  2. 必须仅针对A列中的相同值进行更新。
  3. 第I栏(操作)= LASER。
  4. 如果列F(W NO)值相等。
  5. 然后用操作LASER + 10天的E列值更新Operation = SUDURA的E列值。

    enter image description here

    我不知道你是否理解这个烂摊子,但如果你这样做,任何帮助都会非常感激。

    非常感谢!

1 个答案:

答案 0 :(得分:1)

尝试下面的简短代码,它在我的测试中使用有限的数据记录。如果它也适用于您的数据,请告诉我。

Sub UpdateVEPlanning()


Dim sht                                 As Worksheet
Dim LastRow, lRow                       As Long

' modify "Sheet1" to whatever worksheet name you have
Set sht = ThisWorkbook.Worksheets("Sheet1")

' find last row in sheet with data
LastRow = sht.Cells(sht.Rows.Count, "A").End(xlUp).row

For lRow = 2 To LastRow

    If sht.Cells(lRow, 1) = sht.Cells(lRow - 1, 1) Then
        If Not (sht.Cells(lRow, 9).Find("SUDURA") Is Nothing) And (IsEmpty(sht.Cells(lRow, 4).Value2) Or sht.Cells(lRow, 4).Value2 <= 0) Then
            If sht.Cells(lRow, 6) = sht.Cells(lRow - 1, 6) Then
                sht.Cells(lRow, 5) = sht.Cells(lRow - 1, 5) + 10
            End If
        End If
    End If

Next


End Sub