【问题标题】:Excel UDF Loop to find specific value from a string in a rangeExcel UDF循环从范围内的字符串中查找特定值
【发布时间】:2013-04-23 07:10:56
【问题描述】:

在单元格 A1 中,我有对计算机(HDD、处理器、GFX 等)的描述,在单元格 B1-10 中,我有一个处理器列表,我想要的是一个在单元格 C1 中看起来像这样的 excel UDF:

GetProcessor(A1,B1:B10)

我知道我需要在 VBA 中解析:

Function GetProcessor(Text as Variant, rRange as Range)

然后我被卡住了,因为我对范围循环很差,谁能给我一些指点?

【问题讨论】:

  • @Sam 这感觉很像您之前提出的问题。您的意图是 1) 单元格 C1 中的函数应该 返回 C1 的值(这可能是理想的)还是 2) 单元格 C1 中的函数应该更改单元格 B1-B10 中的值?正如我在对您的其他问题的回答中所描述的,后一种选择对于 UDF 是不可能的。但是,前一个选项会起作用,并且会是更好的做法。
  • 嗨,Ben,我没有问过问题,可能和其他人一样的细节!我最终自己找到了解决方案,简单只是误解了我阅读的一些示例......答案发布在下面
  • Sam:这是一个问答网站,你应该问一个问题。您的回答毫无意义,因为您从未定义过要解决的问题/问题。

标签: excel vba


【解决方案1】:

获取零件功能,自己解决!

Function GetPart(text As Variant, rCells As Range)
  Dim txt As String
  Dim rRange As Range
  Dim SubjCell

  For Each rRange In rCells
    SubjCell = rRange
    txt = text

    If InStr(txt, SubjCell) <> 0 Then
      GetPart = SubjCell
      Exit For
    Else
      GetPart = "Not Found"
    End If
  Next rRange

End Function

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2023-02-17
    • 1970-01-01
    • 2019-06-04
    • 1970-01-01
    • 2022-10-15
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多