Используя VBA, я импортирую файл csv и помещаю кучу данных в несколько столбцов.Excel, похоже, меняет формат только некоторых столбцов
Одна из этих столбцов имеет дату и время. Как мне нужно, чтобы иметь возможность использовать только часть «время» эти клетки, я стараюсь, чтобы преобразовать весь столбец время с помощью (и только о любой другой вариации)
Cells(x.y).EntireColumn.NumberFormat = "hh:mm:ss"
or
Range("C1").NumberFormat = "hh:mm:ss"
Range("C1").EntireColumn.NumberFormat = "hh:mm:ss"
Однако это не преобразовывает весь столбец. Я пробовал все возможные другие способы выбора всего столбца и его изменения (через VB), однако все еще остается только часть.
Если я дважды нажимаю на эти неотвержденные ячейки и нажимаю Enter, они изменяются в правильном формате. Я понимаю, что это общая проблема, относящаяся к вычислениям, но моя книга настроена на автоматические вычисления, и я попытался установить это в VB тоже. Это ничего не меняет.
Единственный шаблон, который я могу найти, заключается в том, что ячейки перестают конвертироваться, когда День достигает двухзначных цифр. Например:
Column C
01/05/2013 7:28:56
03/05/2013 13:24:53
07/05/2013 20:13:24
09/05/2013 8:29:22
12/05/2013 9:28:56
15/05/2013 21:14:25
17/05/2013 7:28:56
становится:
Column C
7:28:56
13:24:53
20:13:24
8:29:22
12/05/2013 9:28:56
15/05/2013 21:14:25
17/05/2013 7:28:56
В строке формул вверх по верхней для каждой ячейки он все еще показывает всю дату и Время для всех ячеек, не уверен, связано ли это, но d кажется, не имеет значения с точки зрения вычислений, которые я должен выполнять с использованием Времени.
По сути, я должен взять время для ячейки в столбце C и времени из другой ячейки (также в формате даты/времени) и проверить разницу. После некоторых исследований я решил, что лучший способ - преобразовать все ячейки в формат времени, а затем выполнить мои вычисления.
В качестве альтернативы я мог бы попытаться преобразовать столбец в текст и использовать функцию разделения (используя пробел как разделитель) и вытащить тайм-аут, но у меня тоже возникли проблемы с этим, так как снова пытаюсь преобразовать весь столбец для текста останавливается двойная цифра для даты.
Спасибо за то, что прочитали все это, любые мысли и помощь будут оценены.
Edit: Реализованная часть моего синтаксиса было неправильно в моем посте, это было правильно, однако в моем макро
другого редактирования: Я думаю, что это определенно что-то делать с форматом дата ... Я просто понял, что до того, как я их отформатировал, даты: m/dd/yyyy
, а затем, когда он доходит до фактических двухзначных дней, он изменяется на dd/mm/yyyy
, и это когда проблема возникает ...
Является ли формат 'dd/MM/yyyy' распознанным в строке формул для ячеек с одноразрядными днями? Похоже, что Excel может подумать, что это что-то вроде 'MM/dd/yyyy'. Проверьте свои региональные настройки, вам может потребоваться сначала настроить даты. –
Вы можете быть правы, я забыл упомянуть, что на конвертированных ячейках в строке формул он изменил дни/месяцы. – user2408171
Хммм я проверил региональные настройки Windows - все выглядит нормально. короткий формат установлен на dd/mm/yyyy – user2408171