Excel: 检索范围内的文本。基于第二范围
Excel: Retrieving text within range. Based on second range
我有一系列单元格,我想确定它们是否包含多个字符串之一。
该系列字符串存储在第二个单元格范围中。
为了确定字符串是否在范围单元格中,我在几个地方找到了答案:
(示例:https://exceljet.net/formula/cell-contains-one-of-many-things)
除了上述 link 之外,我还想做的是让 forumla return 找到找到的字符串值,大概是使用 Mid。在这种情况下,字符串值的长度始终为 5 个字符。
试试这个用户定义的小函数:
Public Function CaptureSubStrings(r1 As Range, r2 As Range) As String
Dim s As String, r As Range
s = r1(1).Text
For Each r In r2
If InStr(1, s, r.Value) > 0 Then CaptureSubStrings = CaptureSubStrings & "," & r.Value
Next r
CaptureSubStrings = Mid(CaptureSubStrings, 2)
End Function
例如:
如果找到多个子字符串,则返回一个串联的子列表。
用户定义函数 (UDF) 非常易于安装和使用:
- ALT-F11 调出 VBE window
- ALT-I
ALT-M 打开一个新模块
- 粘贴内容并关闭 VBE window
如果保存工作簿,UDF 也会随之保存。
如果您使用的 Excel 版本晚于 2003,则必须保存
文件为 .xlsm 而不是 .xlsx
删除 UDF:
- 如上所述调出 VBE window
- 清除代码
- 关闭 VBE window
要使用来自 Excel 的 UDF:
=CaptureSubString(A1,E:E)
要了解有关宏的更多信息,请参阅:
http://www.mvps.org/dmcritchie/excel/getstarted.htm
和
http://msdn.microsoft.com/en-us/library/ee814735(v=office.14).aspx
有关 UDF 的详细信息,请参阅:
http://www.cpearson.com/excel/WritingFunctionsInVBA.aspx
必须启用宏才能工作!
我有一系列单元格,我想确定它们是否包含多个字符串之一。 该系列字符串存储在第二个单元格范围中。
为了确定字符串是否在范围单元格中,我在几个地方找到了答案: (示例:https://exceljet.net/formula/cell-contains-one-of-many-things)
除了上述 link 之外,我还想做的是让 forumla return 找到找到的字符串值,大概是使用 Mid。在这种情况下,字符串值的长度始终为 5 个字符。
试试这个用户定义的小函数:
Public Function CaptureSubStrings(r1 As Range, r2 As Range) As String
Dim s As String, r As Range
s = r1(1).Text
For Each r In r2
If InStr(1, s, r.Value) > 0 Then CaptureSubStrings = CaptureSubStrings & "," & r.Value
Next r
CaptureSubStrings = Mid(CaptureSubStrings, 2)
End Function
例如:
如果找到多个子字符串,则返回一个串联的子列表。
用户定义函数 (UDF) 非常易于安装和使用:
- ALT-F11 调出 VBE window
- ALT-I ALT-M 打开一个新模块
- 粘贴内容并关闭 VBE window
如果保存工作簿,UDF 也会随之保存。 如果您使用的 Excel 版本晚于 2003,则必须保存 文件为 .xlsm 而不是 .xlsx
删除 UDF:
- 如上所述调出 VBE window
- 清除代码
- 关闭 VBE window
要使用来自 Excel 的 UDF:
=CaptureSubString(A1,E:E)
要了解有关宏的更多信息,请参阅:
http://www.mvps.org/dmcritchie/excel/getstarted.htm
和
http://msdn.microsoft.com/en-us/library/ee814735(v=office.14).aspx
有关 UDF 的详细信息,请参阅:
http://www.cpearson.com/excel/WritingFunctionsInVBA.aspx
必须启用宏才能工作!