Vlookup,For Next,带有树变量

时间:2016-05-22 04:58:34

标签: variables for-loop vlookup next

我花了好几个小时试图使我的代码工作没有任何成功。

我试图将vlookup结果与两个条件的函数相加。

如果用户在任何级别的输入值大于0且不同于"" vlookup输入值,它对应于管道号和所有vlookup值的总和。

基本上,练习的目的是输入之前的管道编号,并将柱子EY中的相关压力相加。因此,我将能够知道在我的网络中最难以设计的管道来设计我的泵。

我想这不是很清楚,但请在下面找到我的文件链接,这可能有助于您理解。

不要犹豫,要求任何澄清。

非常感谢您提供给我的任何帮助。

度过愉快的一天

以下是下载文件的链接:

https://www.dropbox.com/s/zcfw9ybeds082qa/Help.xlsx?dl=0

Sub test()
Dim y As Integer, total As Integer
total = 0
For y = 3 To 152
If Not Cells(8, y).Value = 0 And Cells(8, y).Value = "" Then
total = total + cells(8,"EY").value + Application.WorksheetFunction.VLookup(Cells(8, y).Value, Sheets("Pump Design").Range("Pump_design"), 154, False)
y = y + 1
End If
Next y

Cells(8, "EZ").Value = total

End Sub

2 个答案:

答案 0 :(得分:0)

我不完全确定原因,但你的条件永远不会成真。如果你替换

VIEW/PAGE

If Not Cells(8, y).Value = 0 And Cells(8, y).Value = "" Then

If Not (Cells(8, y).Value = 0 Or Cells(8, y).Value = "") Then

然后它应该工作。

答案 1 :(得分:0)

以下是答案

Sub test()
Dim total As Integer, x, y  As Double
For y = 4 To 153
x = Cells(8, y).Value
If Not IsEmpty(x) Then
total = total + Application.WorksheetFunction.VLookup(x, Sheets("Pump Design").Range("Pump_design"), 154, False)
End If
Next y

Cells(8, "EZ") = total
End Sub

但是,我仍然需要进行一些更改才能获得我想要的结果