Мне нужно изменить дату ячейки с общим форматом (мм / дд / гг) на текстовый формат для загрузки в Peoplesoft. Однако я должен сохранить mm/dd/yy
. Когда я изменяю ячейку из общего формата в текстовый формат, она затем меняет дату на дату серийного номера, такую как 41982
и т.д. Я не хочу дату серийного номера. Она должна оставаться ячейкой текстового формата с mm/dd/yy
mm/dd/yyyy
и т.д.
3 ответа
Выберите ячейки, содержащие даты, которые вы хотите преобразовать в форматированный текст, и запустите этот крошечный макрос:
Sub TextDate()
Dim r As Range, st As String
For Each r In Selection
If r.Value <> "" Then
r.NumberFormat = "mm/dd/yyyy"
st = r.Text
r.Clear
r.NumberFormat = "@"
r.Value = st
End If
Next r
End Sub
Макросы очень просты в установке и использовании:
- ALT-F11 открывает окно VBE
- ALT-I ALT-M открывает новый модуль
- вставьте материал и закройте окно VBE
Если вы сохраните книгу, макрос будет сохранен вместе с ней. Если вы используете версию Excel более поздней, чем в 2003 году, вы должны сохранить файл как .xlsm, а не .xlsx
Чтобы удалить макрос:
- откройте окно VBE, как указано выше
- очистить код
- закройте окно VBE
Чтобы использовать макрос из Excel:
- ALT-F8
- Выберите макрос
- Нажмите RUN
Чтобы узнать больше о макросах в целом, смотрите:
http://www.mvps.org/dmcritchie/excel/getstarted.htm
а также
http://msdn.microsoft.com/en-us/library/ee814735(v=office.14).aspx
Макросы должны быть включены, чтобы это работало!
Когда я изменяю ячейку из общего формата в текстовый формат ...
Правильный выбор - это формат даты в этом диалоге.
Даты хранятся в виде чисел, количество дней от базовой даты - т.е. каждое добавленное "1" добавляется 24 часа. Базовая дата варьируется в зависимости от соответствующих настроек в Excel.
Если вам нужно, чтобы ячейки содержали форматированный текст;
- затем убедитесь, что вы видите даты в нужном вам формате
- Выберите ячейки (удерживайте клавишу CTRL, чтобы выделить несмежные ячейки)
- Выберите "Копировать" в меню или на ленте.
- Выберите Специальная вставка из меню или Лента
- Выберите "Вставить значения" в диалоговом окне и нажмите "ОК".
Если мы хотим взять столбец даты во входных данных и использовать его в SQL для загрузки в таблицу PS, я бы установил для формата столбца настройку даты, которая вам нужна. Как только вы поймете, как PS нужна дата (которая зависит от БД и требует проб и ошибок), вы можете создать вызов в формате SQL с помощью TO_DATE. Например, если дата должна быть ММ / ДД / ГГГГ для 26.11.2008, команда будет выглядеть как TO_DATE ('11 / 26/2018 ',' ММ / ДД / ГГГГ '). Первая переменная захватывает данные для ввода, а вторая определяет форматирование. Другим способом использования этого было бы убрать штрихи из вашей даты и использовать переменную формата для определения формата даты: TO_DATE ('11262018', 'MMDDYYYY'). Большинство процессов, которые будут подавать эти необработанные данные и форматирование, смогут затем отформатировать их в соответствии со стандартами даты вашей базы данных, а не заставлять вас догадываться об этом.