Zmiana formatów daty komórki na format tekstowy i zachowanie mm / dd / rr

2

Muszę zmienić daty komórek w formacie ogólnym (mm / dd / rr) na format tekstowy w celu przesłania do Peoplesoft. Jednak muszę zachować mm/dd/yy. Kiedy zmieniam komórkę z ogólnego formatu na tekstowy, to zmienia datę na datę z numerem seryjnym, np. 41982Itd. Nie chcę daty z numerem seryjnym. Musi pozostać komórką formatu tekstowego z mm/dd/yylub mm/dd/yyyyitd.

użytkownik408615
źródło

Odpowiedzi:

2

Wybierz komórki zawierające daty, które chcesz przekonwertować na sformatowany tekst i uruchom to małe makro:

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

Makra są bardzo łatwe w instalacji i obsłudze:

  1. ALT-F11 wyświetla okno VBE
  2. ALT-I ALT-M otwiera nowy moduł
  3. wklej i zamknij okno VBE

Jeśli zapiszesz skoroszyt, makro zostanie z nim zapisane. Jeśli używasz nowszej wersji programu Excel, a następnie 2003, należy zapisać plik jako .xlsm zamiast .XLSX

Aby usunąć makro:

  1. wywołać okno VBE jak wyżej
  2. wyczyść kod
  3. zamknij okno VBE

Aby użyć makra z Excela:

  1. ALT-F8
  2. Wybierz makro
  3. Dotknij URUCHOM

Aby dowiedzieć się więcej o makrach, zobacz:

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

i

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

Makra muszą być włączone, aby to działało!

Uczeń Gary'ego
źródło
Dzięki Studentowi Gary'ego! To wydaje się być rozwiązaniem. Niesamowite!
user408615
0

Kiedy zmieniam komórkę z formatu ogólnego na format tekstowy ...

Prawidłowym wyborem jest format „Data” w tym oknie dialogowym.

Daty są przechowywane jako liczby, liczba dni liczona jest od daty bazowej - tzn. Każda dodana „1” jest dodana 24 godziny. Data bazowa różni się w zależności od powiązanych ustawień w programie Excel.

Jeśli potrzebujesz, aby komórki zawierały FORMATOWANY TEKST;

  • upewnij się, że widzisz daty w odpowiednim formacie
  • Wybierz komórki (Przytrzymaj CTRL, aby wybrać nieprzylegające komórki)
  • Wybierz Kopiuj z menu lub Wstążki
  • Wybierz Wklej specjalnie z menu lub Wstążki
  • Wybierz „Wklej wartości” z okna dialogowego i kliknij OK
Hannu
źródło
Myślę, że OP musi mieć format tekstowy, aby Peoplesoft mógł to zaakceptować. Musi to jednak być wartość tekstowa w formacie MM / DD / RRRR.
Inżynier Toast
OP mówi dokładnie to, co umieściłem w pierwszym wierszu, co nie jest całkowicie jasne w znaczeniu.
Hannu
Wyjaśnione wzdłuż wskazanego znaczenia.
Hannu
-1, „Wklej wartości” nadal kopiuje liczby, to nie działa.
Doc Brown,
0

Jeśli zamierzasz wziąć kolumnę daty do danych wejściowych i użyć jej w SQL do załadowania do tabeli PS, ustawiłbym format kolumny na odpowiednią datę. Kiedy już zrozumiesz, jak PS potrzebuje daty (która jest specyficzna dla DB i wymaga trochę prób i błędów), możesz następnie utworzyć wywołanie w formacie SQL za pomocą TO_DATE. Na przykład, jeśli data ma być MM / DD / RRRR na 26.11.2018, polecenie będzie wyglądać jak TO_DATE („11/26/2018”, „MM / DD / RRRR”). Pierwsza zmienna przechwytuje dane, które mają zostać wprowadzone, a druga określa formatowanie. Innym sposobem wykorzystania tego byłoby usunięcie kresek z daty i użycie zmiennej formatowej do zdefiniowania układu daty: TO_DATE („11262018”, „MMDDYYYY”).

OG PeopleSoft
źródło