2017-09-24 65 views
-1

我在嘗試將某些東西包含到我正在構建的宏中時遇到問題。我需要它通過列C 搜索表示「start trans」的單元,並在(d)的一列中搜索 - 第一個值將等於零,下一個實例應該爲100,下一個實例爲0,下一個實例爲100,直到數據的結尾。Excel VBA查找匹配並返回交替值

實例並不總是每隔4行,我還有其他零,我希望它忽略。

謝謝你的幫助!

Example sheet

+0

並與行應該怎樣宏觀做到發現了什麼?此外,它看起來像你只需要找到列C中的所有'start trans'。 – kaza

回答

0

這個怎麼樣:

Sub GoGoGo() 
Dim l As Long: Dim i As Long 
Dim b As Boolean 
With ActiveSheet 
    l = .Cells(.Rows.Count, "C").End(xlUp).Row 
    For i = 5 To l 
     If .Cells(i, "C").Value2 = "start trans" Then .Cells(i, "D").Value2 = b * -100: b = Not b 
    Next i 
End With 
End Sub 
+0

謝謝!工作很好 – TrB2222

0

試試這個。

Sub test() 
    Dim rngDB As Range, rng As Range 
    Dim n As Long, Result As Integer 
    Set rngDB = Range("c5", Range("c" & Rows.Count).End(xlUp)) 
    For Each rng In rngDB 
     If rng = "start trans" Then 
      n = n + 1 
      If n Mod 2 Then 
       Result = 0 
      Else 
       Result = 100 
      End If 
      rng.Offset(0, 1) = Result 
     End If 
    Next rng 
End Sub 
+0

該解決方案對我的工作表不起作用 - 我相信這是因爲這些值不在那裏,而是一個空白單元格。我需要宏來把它們放在那裏;我應該在我原來的帖子中澄清。謝謝! – TrB2222