温馨提示:本文翻译自stackoverflow.com,查看原文请点击:excel - Concatenate / Combine Columns with time format and general format
excel vba

excel - 用时间格式和常规格式连接/合并列

发布于 2020-03-27 10:58:14

我遇到了问题,找不到解决方案。我想用两种不同的格式连接单元格。一个单元格的格式为“ tt:mm”,另一个单元格的格式为“ general”,我如何串联这些单元格?我在网上看到,这可以在Exel中完成,例如

=A1 & TEXT(B1,"tt:mm")

或= CONCATENATE(TEXT(A1;“ tt:mm”);“”; B1)

但是,如何通过循环在VBA中完成此操作?

我想将所有单元格加在一起,但是我没有以我想要的格式返回日期。

Sub  Merge()
Dim i As Long
Dim time As String
LastRow = Range("A" & StartRow).End(xlDown).Row

For i = StartRow To LastRow
Range("B" & i).Value = Range("B" & i).Value & " " & Range("A" & i).Value
Range("B" & i).NumberFormat = "tt:mm General" 
End Sub    

因此,如果我为xyz和02:30运行此代码,则得到0,15625 xyz,但我想得到02:30 xyz。

非常感谢您的帮助。

查看更多

查看更多

提问者
Andreas Hild
被浏览
174
Warcupine 2019-07-03 22:31

进行以下一行: Range("B" & i).Value = Range("B" & i).Value & " " & Range("A" & i).Value

进入: Range("B" & i).Value = format(Range("B" & i).Value, "hh:mm") & " " & Range("A" & i).Value

此链接具有不同的格式字符串:https : //docs.microsoft.com/zh-cn/office/vba/language/reference/user-interface-help/format-function-visual-basic-for-applications