Объединить / объединить столбцы с форматом времени и общим форматом - PullRequest
0 голосов
/ 03 июля 2019

Я застрял с проблемой и не могу найти решение. Я хочу объединить ячейки с двумя разными форматами. Одна ячейка имеет формат "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 Ответ

1 голос
/ 03 июля 2019

Сделать эту строку: Range("B" & i).Value = Range("B" & i).Value & " " & Range("A" & i).Value

Into: 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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...