logo elektroda
logo elektroda
X
logo elektroda
REKLAMA
REKLAMA
Adblock/uBlockOrigin/AdGuard mogą powodować znikanie niektórych postów z powodu nowej reguły.

Excel - Ustawienie stałego formatu daty 'dd.mm.yyyy' w TextBox niezależnie od regionu

JaroFon 02 Gru 2012 14:14 2418 5
REKLAMA
  • #1 11600779
    JaroFon
    Poziom 23  
    Posty: 1631
    Pomógł: 11
    Ocena: 355
    Mam w oknie TextBox które służy mi do dodawania daty kod jak poniżej. Kod sprawdza czy dobrze zadałem format daty. Jednak czy można zrobić tak żeby kod zawsze brał pod uwagę jeden format daty niezależnie od regionu? Tz. chcę żeby kod zawsze zwracał datę w formacie 'dd.mm.yyyy'. Chodzi o to że mój plik często uruchamiam na czeskim komputerze a tam właśnie standardowo format daty to: 'dd.mm.yyyy' jednak zdarza się że włączam plik również na polskim komputerze a w tym przypadku format daty to 'yyyy-mm-dd'. Teraz jak włączę plik na PL komputerze i wpiszę w TextBox datę w formie 'dd.mm.yyyy' to poniższy kod zwróci błąd. W moim przypadku i mojej pracy format daty zawsze musi być 'dd.mm.yyyy'. Jak to zrobić?

    Kod: text
    Zaloguj się, aby zobaczyć kod
  • REKLAMA
  • Pomocny post
    #2 11602155
    adamas_nt
    VIP Zasłużony dla elektroda
    Posty: 5320
    Pomógł: 1508
    Ocena: 659
    Jeśli datę zapisujesz w komórce, to może okazać się, że to nie taka prosta sprawa.
    W innym przypadku spróbuj podmienić separator. Np
    Kod: text
    Zaloguj się, aby zobaczyć kod
  • REKLAMA
  • #3 11602281
    JaroFon
    Poziom 23  
    Posty: 1631
    Pomógł: 11
    Ocena: 355
    Twój kod działa dobrze, formatuje datę do żądanego formatu, jednak to chyba nie będzie dobrze działać bo podczas wpisywania daty do TextBoxu i tak komputer bierze pod uwagę że datę wpisuję od roku. Czyli jak wpiszę np. datę 22.12.12 to bierze tą datę jako 12.12.2022
  • REKLAMA
  • #4 11602366
    adamas_nt
    VIP Zasłużony dla elektroda
    Posty: 5320
    Pomógł: 1508
    Ocena: 659
    Zwykle w takich przypadkach składa się dzień, miesiąc, rok przez DateSerial... Ale jeśli w polskim formacie wpiszesz kropki, to Excel zinterpretuje to jako tekst.
  • REKLAMA
  • #5 11602468
    JaroFon
    Poziom 23  
    Posty: 1631
    Pomógł: 11
    Ocena: 355
    Sprawdziłem jeszcze raz i jest tak jak napisałem. Na moim kodzie wpisując datę (nie używając kropek) Excel weźmie pod uwagę że jako pierwsze wpisuję rok ale zależy od tego jak ten rok wpiszę, bo zazwyczaj idę na skróty i rok wpisuję dwucyfrowy jednak jak rok wpiszę czterocyfrowy to jest już inaczej. Czyli jak wpiszę dajmy na to: 22 12 12 to Excel weźmie to jako 2022-12-12 jednak jak wpiszę 22 12 2012 to wpisze to jako 2012-12-22,
    na natomiast na Twoim kodzie jak wpiszę 22 12 2012 to data nie zostanie sformatowana i pozostawi to jako text
  • #6 11603179
    marek003
    Poziom 40  
    Posty: 4607
    Pomógł: 801
    Ocena: 488
    Nie chce sie za mocno wtrącać bo za mały jestem na to ale, może przy wprowadzaniu konwersji daty sprawdzić jakoś w jakiej "standardzie" działamy (czeski czy polski - aczkolwiek nie wiem jak).
    Lub może powyciągać trzy cyfry z wprowadzonego ciągu (rozdzielenie kropką lub kreską i w zależności gdzie jest cztery cyfry ustawić to w odpowiedni dla VBA ciąg, a gdy nie ma czterech cyfr założyć z góry że to format "dd mm rr" i tak wprowadzić dla VBA poprzez np. CDate()
REKLAMA