Sha*_*jan 2 excel vba excel-vba
我有两个columns A and B相同的excel表.我正在尝试,如果在Column B两个值匹配,那么它应该复制A相同的行中的相关值.
例如
表
Column A Column B
xyz 1
abc 1
pqr 1
eee 2
qqq 3
www 4
oop 5
Run Code Online (Sandbox Code Playgroud)
Desierd输出
column A Column B
xyz,abc,pqr 1
eee 2
qqq 3
www 4
oop 5
Run Code Online (Sandbox Code Playgroud)
小智 6
您可以使用用户定义函数(也称为UDF).把它放到模块表中.
Public Function conditional_concat_strs(rSTRs As Range, rCRITs As Range, rCRIT As Range, Optional sDELIM As String = ", ")
Dim c As Long, sTMP As String
Set rSTRs = rSTRs.Cells(1, 1).Resize(rCRITs.Rows.Count, rCRITs.Columns.Count)
For c = 1 To rCRITs.Cells.Count
If rCRITs(c).Value2 = rCRIT Then _
sTMP = sTMP & rSTRs(c).Value & sDELIM
Next c
conditional_concat_strs = Left(sTMP, Application.Max(Len(sTMP) - Len(sDELIM), 0))
End Function
Run Code Online (Sandbox Code Playgroud)
像任何本机工作表函数一样使用.
| 归档时间: |
|
| 查看次数: |
8325 次 |
| 最近记录: |