Vlookup,For Next,带有树变量

Posted

技术标签:

【中文标题】Vlookup,For Next,带有树变量【英文标题】:Vlookup, For Next, with tree variables 【发布时间】:2016-05-22 04:58:33 【问题描述】:

我花了几个小时试图让我的代码正常工作,但没有成功。

我正在尝试将 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

【问题讨论】:

请复制并粘贴您正在使用的公式。这样我们就可以复制它来测试它,人们可以很容易地看到它,而无需下载他们可能不信任的文件。此外,如果您将其缩小到特定问题,例如“我的 VLOOKUP 正在返回 #VALUE”或“如何选择单元格前后的单元格并对它们求和?”,这将是一个更好的问题。 @Noumenon done 查看我的问题中的代码 哪一列应该保持“相关压力”?没有列标记为“压力”。 【参考方案1】:

我不完全确定为什么,但你的条件永远不会正确。如果你更换

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

If Not IsEmpty(Cells(8, y)) Then

那么它应该可以工作。

【讨论】:

好的,谢谢你,但我的 vlookup 功能也不起作用。如果我将:total = total + Application.WorksheetFunction.VLookup(Cells(8, y).Value, Sheets("Pump Design").Range("Pump_design"), 154, False) 替换为 total = total + Application.WorksheetFunction.VLookup(Cells(8, 4).Value, Sheets("Pump Design").Range("Pump_design"), 154, False) 它可以工作....为什么??? @MAxSegura Range("Pump_design") 指的是哪些单元格?我在命名范围菜单中没有看到它。 我修复了这个问题,在文件范围内(“Pump_design”)是整个表的名称。主要问题是 x 和 y 没有被声明为 double 并且 y = 3 到 153 被 y= 4 到 153 替换。 现在我正在尝试为每一行复制宏,所以我会花一些时间在上面,因为我不知道如何:)【参考方案2】:

这就是答案

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

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

【讨论】:

以上是关于Vlookup,For Next,带有树变量的主要内容,如果未能解决你的问题,请参考以下文章

如何用表格查重复

字典树

使用带有附加VLOOKUP的VLOOKUP为FALSE

带有 VLOOKUP 的 Google 电子表格多个结果

努力从 VLOOKUP 创建一个带有 MIN 的函数

带有范围的 Excel VBA Vlookup