我需要这个代码:
Sub ConcatColumns()
Do While ActiveCell <> ""
ActiveCell.Offset(0, 1).FormulaR1C1 = _
ActiveCell.Offset(0, -1) & " " & ActiveCell.Offset(0, 0)
ActiveCell.Offset(1, 0).Select
Loop
End Sub
字符串
我需要修改它,使它不仅可以连接两列,而且可以连接多达4列,并且可以选择要连接的列。我还需要用逗号分隔连接的文本,因为这是Excel,我想知道如果其中一列是日期,是否有方法可以添加一些格式?
例如,我必须手动使用这个公式来确保我的日期在使用TEXTJOIN时格式为mm/dd/yyyy:
=TEXTJOIN(",",TRUE,IF(I4="","",(TEXT(I4,"mm/dd/yyyy"))),IF(J4="","",(TEXT(J4,"mm/dd/yyyy"))),IF(K4="","",(TEXT(K4,"mm/dd/yyyy"))))
型
我的数据是这样的:
原始数据
x1c 0d1x的数据
这可以继续与多达5-10个其他套的身份证的日期。
这是我需要的结果,也是我现在必须用=TEXTJOIN做的事情:
的
正如你所看到的日期不过来格式化,即使当我尝试这样做的时间,所以我必须添加一些=文本格式与公式,我上面粘贴。
提前感谢!
1条答案
按热度按时间kiayqfof1#
这里有一种方法。它将按照单元格/区域的选择顺序连接选择单元格内容(幸运的是,Excel在您进行多区域选择时会跟踪此操作)。结果将显示在最后选择的单元格中。
字符串
范例:第3行的单元格是在按住Ctrl键的同时按显示的顺序选择的。确保最后选择一个空单元格作为结果的目标。
**注意:**只要下面的行中有内容,宏就会逐步向下遍历,因此只选择要处理的数据的第一行上的单元格。
x1c 0d1x的数据
测试结果:
的