根据下一列中的单元格内容进行连接

时间:2017-11-13 15:19:00

标签: vba excel-vba excel

我正在尝试找到一个将连接列中所有文本的公式或VBA,在包含值的每个单元格之间添加两个换行符。因此,我希望“主要数据”工作表的BZ列中的所有注释都能连接,如果它们旁边的列CA的同一行中的文本为“是”。

我希望这些评论最后出现在同一工作簿的“评论”工作表的单元格B1中。

我在网站上看了一下,但找不到解决方案。我很感激任何帮助,或者如果你能引导我到一个有类似问题的页面。

非常感谢

[R

1 个答案:

答案 0 :(得分:1)

Public Function ConcatenateIF(RangeToExamine As Range, ValueToCompare As Variant, RangeToCombine As Range, Optional seperator As String = vbCrLf & vbCrLf) As String
 Dim s As String
 Dim r As Range
 Dim t As Range
 Dim x As Long
 Dim y As Long
 If RangeToExamine.Rows.Count = 1 Then
     x = 0
     y = 1
 ElseIf RangeToExamine.Columns.Count = 1 Then
     x = 1
     y = 0
 Else
     ConcatenateIF = "#Value"
     Exit Function
 End If

 Set t = RangeToCombine.Cells(1, 1)

 For Each r In RangeToExamine
      If r = ValueToCompare Then
          If t <> "" Then
              s = s & t & seperator
          End If
      End If
      Set t = t.Offset(x, y)

      Next r
 If Len(seperator) > 0 Then
     s = Left(s, Len(s) - Len(seperator))
 End If

 ConcatenateIF = s

 End Function