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 错误。
- 函数拼写正确(我实际上 select 它在 Excel 中来自公式自动完成)
- Excel x64 v2108,在 Win10 x64 上本地安装
知道为什么不使用公式将其填充回单元格吗?
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
当您复制此单元格并粘贴为值时,
点击 F2
和 Enter
后,您将看到这样的视图:
没有经验的 Whosebug 用户,如果需要,请随时将我指向其他论坛或子论坛。
我创建了下面的VBA(然后也看了网上的其他代码示例,似乎都遵循相同的逻辑)。我在调试 window 中进行了测试,并准确地看到了我期望的结果(多行字符串)。但是,当我在工作表单元格中键入公式时,出现#Value 错误。
- 函数拼写正确(我实际上 select 它在 Excel 中来自公式自动完成)
- Excel x64 v2108,在 Win10 x64 上本地安装
知道为什么不使用公式将其填充回单元格吗?
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
当您复制此单元格并粘贴为值时,
点击 F2
和 Enter
后,您将看到这样的视图: