我想知道是否有办法告诉excel如果VLookup函数找不到任何东西时不显示一些变量。VBA函数告诉机器不要显示某些变量
这里粗略地说明了我的代码的作用:通过查看另一个excel工作簿中的一些数字,比较上一年的值并采取差异,在另一个电子表格中显示差异,全部在一个大合并单元格中显示。 从我的代码的一些摘录:
cashO = Val(Application.VLookup("cash" & "*", Workbooks("creditreport.csv").ActiveSheet.Range("A1:F199"), 4, False))
那么差cash = Round(cashN - cashO, 0)
则显示:MergedCell.Value = "Cash increased by" & cash
,但我不想显示的现金,如果它无法找到现金摆在首位(如果这是这种情况,当无法找到现金和变化为空时,现金= 0)。
我正在考虑用我所有的变量(现金,...)创建一个数组,然后通过它循环。但我找不到任何网上的“如果没有发现不显示任何东西”。
最佳,
谢谢您的回答!如果我不希望vba在其他文档中找不到vba,那么我相信我需要用'cash =“''''' – lo1ngru
这些行来代替你的'cash = 0'建议避免使用相同变量的混合数据类型 - 即我猜你已将现金定义为整数或其他数字类型。 “”是一个空字符串,不是数字。如果您不想仅处理If语句中的输出,但稍后再执行此操作,则可能有一个布尔型CashExists,并且在“cash = 0”和“cashExists = True”的地方有“cashExists = False”其他部分。然后,在if之后,您可以执行“如果cashExists然后.... else ..... end if”在稍后的代码中将输出格式化。 – area9