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
  • Вопрос задан
  • 68 просмотров
Решения вопроса 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
Ответ написан
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы
15 авг. 2020, в 01:45
95000 руб./за проект
14 авг. 2020, в 22:47
15000 руб./за проект
14 авг. 2020, в 22:40
15000 руб./за проект