【发布时间】:2019-04-18 04:56:01
【问题描述】:
我正在尝试根据下一列中给出的值从前面的行中提取值。
如以下示例(说明表图像),在单元格 A2 中,单元格值为 10(以绿色突出显示),单元格 D2 中的相应值为 3(以红色突出显示),因此单元格 E2、E3 和 E4 中所需的值为删除文本“SLR#”后,单元格 A3、A4 和 A5 的值分别为 A-1111、B-2222、C-3333。在单元格 A6 的情况下,单元格 D6 中的对应值为 2,因此单元格 E6 和 E7 中所需的值将是 D-4444 和 E-5555。
像这样连续的数据和公式或 VBA 代码将满足我在 E 列中的要求。如果您需要进一步说明,请告诉我。在此先感谢...
说明表:
我尝试了以下用户定义函数,但它在一个单元格中而不是在下一个单元格中提供了所有值。 (感谢 Fluff 先生的这个 UDF)
Function UDF(Rng As Range, Rws As Long) As String
Dim i As Long
Dim Cl As Range
For Each Cl In Rng
If Left(Cl, 4) = "SLR#" Then
UDf = UDF & Cl.Value
i = i + 1
If i = Rws Then Exit For
End If
Next Cl
UDF = Trim(Replace(fiberboysa, "SLR#", ""))
End Function
【问题讨论】:
标签: excel vba excel-formula