excel - 在列表底部/第一个空白单元格处停止“=组合”代码
问题描述
我正在尝试将 TaskID 代码与“,”串在一起。当前代码如下。
我希望代码停在活动列表的底部/第一个空单元格处。此外,对于输出在最后一个活动单元格之后不包括“,”。
Function Combine(WorkRng As Range, Optional Sign As String = ", ") As String
'Update 20130815
Dim Rng As Range
Dim OutStr As String
For Each Rng In WorkRng
If Rng.Text <> " " Then
OutStr = OutStr & Rng.Text & Sign
End If
Next
Combine = Left(OutStr, Len(OutStr) - 1)
End Function
解决方案
您可以提前检查空虚并退出循环。如果您没有剪切一个字符,而是剪切符号变量的长度,那么最后没有“,”应该没问题。
Function Combine(WorkRng As Range, Optional Sign As String = ", ") As String
Dim Rng As Range
Dim OutStr As String
For Each Rng In WorkRng
If Rng.Text = vbNullString Then Exit For
OutStr = OutStr & Rng.Text & Sign
Next
Combine = Left(OutStr, Len(OutStr) - Len(Sign))
End Function
推荐阅读
- sql - 嵌套注释的 typeorm 关系中的联合类型
- python - 组合日期和小时列后出现 KeyError,matplotlib 无法识别我的列之一,其他列工作正常
- javascript - 更改默认引导轮播幻灯片动画方向?
- java - 没有提供生成器,也没有注册默认生成器
- javascript - Angular NGRX 在从效果中调度动作时无法将数据传递给减速器。出现错误 - TypeError:无法冻结
- python - 如果字典不包含特定键,如何从字典中删除字典
- android - 更改 Android 工具栏徽标的宽度
- c - 如何在 iMX6S 上交叉编译内核驱动程序?
- python - 无法导入 PySide2
- c - Valgrind 错误 - 条件跳转或移动取决于未初始化的值