2

Мне нужно изменить дату ячейки с общим форматом (мм / дд / гг) на текстовый формат для загрузки в Peoplesoft. Однако я должен сохранить mm/dd/yy . Когда я изменяю ячейку из общего формата в текстовый формат, она затем меняет дату на дату серийного номера, такую как 41982 и т.д. Я не хочу дату серийного номера. Она должна оставаться ячейкой текстового формата с mm/dd/yy mm/dd/yyyy и т.д.

3 ответа3

2

Выберите ячейки, содержащие даты, которые вы хотите преобразовать в форматированный текст, и запустите этот крошечный макрос:

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

Макросы очень просты в установке и использовании:

  1. ALT-F11 открывает окно VBE
  2. ALT-I ALT-M открывает новый модуль
  3. вставьте материал и закройте окно VBE

Если вы сохраните книгу, макрос будет сохранен вместе с ней. Если вы используете версию Excel более поздней, чем в 2003 году, вы должны сохранить файл как .xlsm, а не .xlsx

Чтобы удалить макрос:

  1. откройте окно VBE, как указано выше
  2. очистить код
  3. закройте окно VBE

Чтобы использовать макрос из Excel:

  1. ALT-F8
  2. Выберите макрос
  3. Нажмите RUN

Чтобы узнать больше о макросах в целом, смотрите:

http://www.mvps.org/dmcritchie/excel/getstarted.htm

а также

http://msdn.microsoft.com/en-us/library/ee814735(v=office.14).aspx

Макросы должны быть включены, чтобы это работало!

0

Когда я изменяю ячейку из общего формата в текстовый формат ...

Правильный выбор - это формат даты в этом диалоге.

Даты хранятся в виде чисел, количество дней от базовой даты - т.е. каждое добавленное "1" добавляется 24 часа. Базовая дата варьируется в зависимости от соответствующих настроек в Excel.

Если вам нужно, чтобы ячейки содержали форматированный текст;

  • затем убедитесь, что вы видите даты в нужном вам формате
  • Выберите ячейки (удерживайте клавишу CTRL, чтобы выделить несмежные ячейки)
  • Выберите "Копировать" в меню или на ленте.
  • Выберите Специальная вставка из меню или Лента
  • Выберите "Вставить значения" в диалоговом окне и нажмите "ОК".
0

Если мы хотим взять столбец даты во входных данных и использовать его в SQL для загрузки в таблицу PS, я бы установил для формата столбца настройку даты, которая вам нужна. Как только вы поймете, как PS нужна дата (которая зависит от БД и требует проб и ошибок), вы можете создать вызов в формате SQL с помощью TO_DATE. Например, если дата должна быть ММ / ДД / ГГГГ для 26.11.2008, команда будет выглядеть как TO_DATE ('11 / 26/2018 ',' ММ / ДД / ГГГГ '). Первая переменная захватывает данные для ввода, а вторая определяет форматирование. Другим способом использования этого было бы убрать штрихи из вашей даты и использовать переменную формата для определения формата даты: TO_DATE ('11262018', 'MMDDYYYY'). Большинство процессов, которые будут подавать эти необработанные данные и форматирование, смогут затем отформатировать их в соответствии со стандартами даты вашей базы данных, а не заставлять вас догадываться об этом.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .