gpt4 book ai didi

Excel VBA - 设置单元格颜色时的 VLookup

转载 作者:行者123 更新时间:2023-12-04 22:15:10 45 4
gpt4 key购买 nike

这个问题在这里已经有了答案:





#NAME? error in Excel for VBA Function

(13 个回答)


7 个月前关闭。




如果当前单元格背景颜色设置为 vbRed 或 rgb(255,0,0),我在这里创建了一个“颜色函数”,旨在运行 VLookup。现在,VLookup 正在从我的工作表中查找 SKU 编号,该编号在当前单元格左侧偏移 8 列,并查看我的第二张工作表“订单指南”范围 A:AD 以提取相应的数据。
目前它只返回#NAME?即使我可以手动验证两个 SKU 都在
适当的位置。我当前的函数写成:

Function ColorFunction(Rge As Range) As String

Dim Sheet As Worksheet
Dim SKUColumn As Range
Dim MyRange as Range

Set Sheet = ActiveWorkbook.Sheets("Order Guide")
Set SKUColumn = Rge.Offset(0, -8)
Set MyRange = Sheet.Range("A:AD")

If Application.ThisCell.Interior.Color = vbRed Then ColorFunction =
Application.ThisWorkbook.VLookup(SKUColumn, MyRange, 30, False)

End Function
Module Location
不完全确定我在这里缺少什么...

最佳答案

工作簿没有 VLookup -方法。
要么使用

ColorFunction = Application.Vlookup(SKUColumn, MyRange, 30, False)
如果 VLookup 找不到该值,这将返回常见的 #N/A。
或使用
ColorFunction = "(not found)"
On Error Resume Next
ColorFunction = WorksheetFunction.VLookup(SKUColumn, MyRange, 30, False)
On Error Goto 0
WorksheetFunction会抛出运行时错误。如果您不处理该错误,您将得到 #VALUE - 如果未找到该值,则单元格中的错误。在我的示例中,我返回 "(not found)"反而。
更新 (叹气,还没有阅读已删除的问题,我想我们不应该这样做) #Name - 如果 Excel 找不到 VBA 函数,则会发生错误。可能是由于
  • 功能不公开
  • 函数不在常规模块中
  • 模块不在当前工作簿或引用的工作簿中
  • 模块名称和函数名称相同

  • (如果有人知道其他原因,请随时添加...)

    关于Excel VBA - 设置单元格颜色时的 VLookup,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/70339830/

    45 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com