excel 连接单元格范围,用“OR“分隔,并在到达空白单元格时停止?

63lcw9qa  于 12个月前  发布在  其他
关注(0)|答案(2)|浏览(96)

我试图连接A2到A200的范围,用“OR“分隔,但当它到达空白单元格时,会停止。如何调整我使用的范围,当它到达空白单元格时停止?
下面是我的函数:

Sub vba_concatenate()

    Dim Rng As Range
    Dim i As String
    Dim SourceRange As Range

    Set SourceRange = Range("A2:A200")

    For Each Rng In SourceRange
        i = i & Rng & " OR "
    Next Rng
    Range("C1").Value = Trim(i)

End Sub

字符串
我试过寻找其他的“或”来做这个,但是我找不到。我使用了上面的代码,但是一旦它到达一个空白单元格,它会添加多个“或“的副本,直到它到达范围的末尾。

2nc8po8w

2nc8po8w1#

Sub vba_concatenate()
    Dim Rng As Range 
    Dim i As String 
    Dim SourceRange As Range

  Set SourceRange = Range("A2:A200")

  For Each Rng In SourceRange 
    If LenB(Rng) > 0 Then   'Check if Rng is empty
       If LenB(i)=0 Then
          i =  Rng   'First item
       Else
          i = i & " OR " & Rng  'Append to string
       End If
    Else
       Exit For
    End If
  Next Rng 

  Range("C1").Value = Trim(i)

End Sub

字符串

r9f1avp5

r9f1avp52#

完成W/O循环。

Option Explicit
Sub Demo()
     Range("C1").Value = Join(Application.Transpose(Range("A2", Range("A2").End(xlDown)).Value), " OR ")
End Sub

字符串

  • Microsoft文档:*

WorksheetFunction.Transpose method (Excel)
Join function
实际上,你可以考虑使用公式。

=TEXTJOIN(" OR ",TRUE,A1:A200)

相关问题