Как изменить тип ячейки в зависимости от ее значения в Excel? - PullRequest
1 голос
/ 26 марта 2020

У меня есть файл Excel 2013, содержащий данные:

User  LastLogin
A     03/15/2020
B     user's machine not found
C     03/09/2020
D     03/25/2020
E     user's machine not found

Тип столбца LastLogin - «Текст».

Мне нужно определить условие или разработать VB скрипт для изменения типа ячейки в зависимости от ее значения. Когда это дата, формат должен быть «Дата», иначе должен быть «Текст».

Я проверил примеры в Интернете, но смог найти только те, которые изменяют пользовательский интерфейс ячейки (выделение et c.). Как изменить тип ячейки в зависимости от ее значения?

Буду признателен за любую помощь.

1 Ответ

0 голосов
/ 27 марта 2020

В Excel формат ячейки, как правило, распознается и устанавливается сразу после ввода значения, если формат ячейки не указан в виде текста. Поэтому после преобразования текстового формата в другой формат в формате ячейки при повторном вводе значения оно автоматически устанавливается. После установки формата даты, если текстовое значение приходит, оно не будет отображаться в формате даты.

Sub test()
    Dim Ws As Worksheet
    Dim vDB, rngDB As Range

    Set Ws = ActiveSheet

    Set rngDB = Ws.Range("a1").CurrentRegion
    vDB = rngDB
    With Ws
        .Columns(2).NumberFormat = "mm/dd/yyyy"
    End With
    rngDB = vDB
End Sub

До

enter image description here

После

enter image description here

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