Excel VBA 连接函数未返回有效的单元格结果(但 debug.print 显示正确的字符串)

Excel VBA function for concatenation not returning valid cell results (but debug.print shows the correct string)

没有经验的 Whosebug 用户,如果需要,请随时将我指向其他论坛或子论坛。

我创建了下面的VBA(然后也看了网上的其他代码示例,似乎都遵循相同的逻辑)。我在调试 window 中进行了测试,并准确地看到了我期望的结果(多行字符串)。但是,当我在工作表单元格中键入公式时,出现#Value 错误。

知道为什么不使用公式将其填充回单元格吗?

Function ConcatCells()
    
    'just to be safe, clear the string
    ConcatCells = ""
    
    'Loop and add each cell text with a line break
    For Each cell In Selection
        ConcatCells = ConcatCells & Chr(13) & cell.Text
    Next
    
    'remove the leading line break
    ConcatCells = Right(ConcatCells, Len(ConcatCells) - 1)
    
    'is the string actually being created correctly? Yes
    Debug.Print ConcatCells
    
End Function

Selection As Range 作为参数添加到您的函数中:Function ConcatCells(Selection As Range)

在此之后,您的函数将 return 像这样的值:OneTwoThreeFourFive

当您复制此单元格并粘贴为值时,

点击 F2Enter 后,您将看到这样的视图: