VDT2
@VDT2
Java Junior

Как перевести формат ДАТА в ТЕКСТ в ячейках Excel?

В ячейках ДАТА (ВРЕМЯ)
---
6:10:00
6:15:00
---

Если сменить тип ячейки в текстовой, получаем соответственно:
---
0,256944444444444
0,260416666666667
---

Мне нужно провести конкатенацию данных в ячейках с датой.
И соответственно мой код вставляет текстовые значения типа "0,2604".

Помогите, перевести ДАТА в ТЕКСТ.
Как это делается в VBA?

Sub qqwe2()

Dim r As Long, rn As Range
Set rn = Intersect(ActiveSheet.UsedRange, [B:B])
For r = rn(rn.Count).Row To rn(1).Row Step -1
  If Cells(r, 1) <> Empty Then
    Cells(r, 1).Formula = Now
        date_str2 = CStr(Cells(r, 1).Value)
    Cells(r, 1).Value = "ANCHOR " & date_str & ":00:00"
  End If
Next
End Sub
  • Вопрос задан
  • 66 просмотров
Решения вопроса 1
На самом деле все очень просто если есть в руках VBA

Создаем модуль, добавляем функцию, вызываем функцию на листе.
Public Function ToText(ByRef rng As Range) As String
   ToText = rng.Text
End Function


Результат
5ef1cd94efcf3920919701.png
Ответ написан
Пригласить эксперта
Ответы на вопрос 2
firedragon
@firedragon
Senior .NET developer
Прям код не подскажу, но попробуйте следующее: начать запись макроса, потом сделать все в экселе руками, остановить запись и разобраться что там в макросе получилось
Ответ написан
@DrAkosh365
Sub взять_текст_из_дата()

Dim a As Object
Dim b As Range
Set a = ActiveSheet. Range("C5")
Set b = ActiveSheet.Range("C6")
a = a.Text
b = b.Text
With ActiveSheet.Range("D102")
.Value = a + b
End With
End Sub
Это просто пример что бы обратится своевольству ячейку .Text
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы