目录
引言
最近发现一个特别有意思的需求,有一列数据,具体多少行不清楚,需要将它们的内容全部输出到一个单元格,数据之间要用符号隔开;另一个需求刚好相反,一个单元格内有很多的数据,需求就是把这些数据按照符号拆分出来,再按列输出。
下图是为实现本期需求提前准备的测试数据,也就是A列显示的项目编号用顿号分割开,接着汇总在一起输出到C2单元格。还可以将C2单元格中的数据按照顿号分切割,最终输出成一列,为了方便区分这里输出到D列
现实生活或工作中,这类问题也不少见,那么就来看看用VBA编程是如何实现的吧
问题的分析与设计
数据的合并
数据的合并,很好理解,就是去A列顺次读取单元格中项目编码合并到一起。举个例子,首先读取A2单元格中项目编码,保存到C2中,再读取A3单元格中的项目编码,追加到C2中,需要注意的是两个项目编码要用顿号隔开,相同的操作直到最后一个项目编码。因为读取的项目编码默认类型都是字符串,所以使用字符串的拼接符号&就会把它们连接到一起,如:
"Pro45670007" & "、" & "Pro45670008" 执行后的结果就是Pro45670007、Pro45670008
需要注意以下两点
1、字符串常量要用英文的双引号引起来,字符串类型的变量则不需要双引号,如
Dim myStr As String 'String类型变量
myStr = "Pro45670007"
myStr = myStr & "、"
2、连接符&前后一定要加空格,否则会报格式错误