Добрый день. Проблема была такая. 1. формат ячейки был, допустим, текстовый и содержал такую информацию "Чт 12.05.17". И таких ячеек целый столбец, штук 500. (получено копированием из Project) 2. Заменой удаляю все текстовые составляющие типа "Чт ", "Пт " и так далее. [vba]
[/vba] 3. Однако, после этого, ячейка не получает формат "Дата" и не обсчитывается формулами на листе. Даже, если вручную заменить формат ячеек на "Дата", то она будет рассчитываться только после того, как данную ячейку отредактируешь и нажмешь ввод. Ясное дело, вручную этим заниматься не дело. Вот такой макрос не помог: [vba]
Код
For Each cell In Selection Dim a, b As Variant a = cell.Formula: b = cell.NumberFormat cell.Value = "" cell.FormulaR1C1 = a: cell.NumberFormat = b Next cell
[/vba] и всякие другие изощрения тоже.
Зато, как ни странно, простая команда Selection.Parse магическим образом превращала мертвый выделенный диапазон в работающие ячейки. Правда, работает она только с одним столбцом.
Может, кому пригодится информация. Может, кто и объяснит, зачем эта функция, вообще. Судя по названию, я пользую какой-то побочный эффект.
Добрый день. Проблема была такая. 1. формат ячейки был, допустим, текстовый и содержал такую информацию "Чт 12.05.17". И таких ячеек целый столбец, штук 500. (получено копированием из Project) 2. Заменой удаляю все текстовые составляющие типа "Чт ", "Пт " и так далее. [vba]
[/vba] 3. Однако, после этого, ячейка не получает формат "Дата" и не обсчитывается формулами на листе. Даже, если вручную заменить формат ячеек на "Дата", то она будет рассчитываться только после того, как данную ячейку отредактируешь и нажмешь ввод. Ясное дело, вручную этим заниматься не дело. Вот такой макрос не помог: [vba]
Код
For Each cell In Selection Dim a, b As Variant a = cell.Formula: b = cell.NumberFormat cell.Value = "" cell.FormulaR1C1 = a: cell.NumberFormat = b Next cell
[/vba] и всякие другие изощрения тоже.
Зато, как ни странно, простая команда Selection.Parse магическим образом превращала мертвый выделенный диапазон в работающие ячейки. Правда, работает она только с одним столбцом.
Может, кому пригодится информация. Может, кто и объяснит, зачем эта функция, вообще. Судя по названию, я пользую какой-то побочный эффект.eenk
Сообщение отредактировал eenk - Воскресенье, 17.12.2017, 13:37
Этот метод разбивает данные в ячейке на заданное количество столбцов. В официальной справке есть пример. В нем номер телефона разбивается на две части. Номер телефона до применения метода: 206-555-1212. После в одном столбце будет 206, во втором 555-1212. Если не использовать параметры (Вы так делаете), то разбивки не происходит, но Excel изменяет тип данных, что Вы и используете для своей задачи. В Excel есть похожая ситуация - это использование Данные - Текст по столбцам. Эта команда тоже используется для изменения типа данных у чисел. В этом случае также ничего не разбивается, но числа становятся числами.
Этот метод разбивает данные в ячейке на заданное количество столбцов. В официальной справке есть пример. В нем номер телефона разбивается на две части. Номер телефона до применения метода: 206-555-1212. После в одном столбце будет 206, во втором 555-1212. Если не использовать параметры (Вы так делаете), то разбивки не происходит, но Excel изменяет тип данных, что Вы и используете для своей задачи. В Excel есть похожая ситуация - это использование Данные - Текст по столбцам. Эта команда тоже используется для изменения типа данных у чисел. В этом случае также ничего не разбивается, но числа становятся числами.Karataev
Сообщение отредактировал Karataev - Воскресенье, 17.12.2017, 16:36