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

时间:2019-07-03 14:08:24

标签: excel vba

我陷入了困境,找不到解决方案。我想用两种不同的格式连接单元格。一个单元格的格式为“ 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。

非常感谢您的帮助。

1 个答案:

答案 0 :(得分:1)

使这一行: 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/en-us/office/vba/language/reference/user-interface-help/format-function-visual-basic-for-applications