Elektroda.pl
Elektroda.pl
X
Proszę, dodaj wyjątek www.elektroda.pl do Adblock.
Dzięki temu, że oglądasz reklamy, wspierasz portal i użytkowników.

VBA Kalendarz + godzina

jezy 21 Sty 2016 20:29 1551 7
  • #1 21 Sty 2016 20:29
    jezy
    Poziom 9  

    Przeglądając forum znalazłem fajny kalendarz zrobiony w exelu w userform przez @marcinj12. Oryginalny temat : Link

    Pytanie mam następujące czy do tego kalendarza oprócz wyboru daty można dorobić wybranie godziny i wstawieniu do komórki jako np: 2016-01-12 06:00

    0 7
  • #2 21 Sty 2016 20:51
    adamas_nt
    Moderator Programowanie

    jezy napisał:
    czy do tego kalendarza oprócz wyboru daty można dorobić wybranie godziny i wstawieniu do komórki jako np: 2016-01-12 06:00
    Tak, można. Trzeba dorobić pola dla godz. min. i oprogramować.

    0
  • #3 21 Sty 2016 21:00
    jezy
    Poziom 9  

    Można liczyć na dodatkową podpowiedź ? może jakiś plik z wyborem godziny z którego mógł bym się wzorować ?

    0
  • #4 21 Sty 2016 21:19
    adamas_nt
    Moderator Programowanie

    Nie mam nic gotowego pod ręką. Ale uchował mi się plik z jakiś wcześniejszych prób.
    Jest tam wykorzystana kontrolka 'dtPicker'
    Identyczną można wstawić w uForm kalendarza. Myślę, że to dość wygodne rozwiązanie.

    W przyborniku kliknij ppm, wybierz 'Additional controls', poszukaj i zaznacz 'Microsoft Date and Time Picker'.
    Po wstawieniu, przejdź do właściwości i Format ustaw na 'dtpTime'

    Pozostaje kwestia modyfikacji kodu. Najprościej byłoby "dokleić" czas do wstawianej daty.

    0
  • Pomocny post
    #5 21 Sty 2016 22:48
    marcinj12
    Poziom 40  

    adamas_nt napisał:
    Jest tam wykorzystana kontrolka 'dtPicker'
    Potwierdzając problem z cytowanego przez autora wątku i dyskusję o problemach z tą kontrolką - oto zachowanie tego pliku na moim komputerze :)
    VBA Kalendarz + godzina
    Czyli tak jak mówiliśmy - dateTimePicker = samo zło :D

    Plik kalendarza rozbudowany o textbox do wyboru godziny (w formacie: gg:mm) w załączniku.
    W UserForm_Activate ustawiasz początkową godzinę kodem:
    Kod: vbscript
    Zaloguj się, aby zobaczyć kod
    Możesz tam sobie ustalić własną, domyślną godzinę lub rozbudować format np. o sekundy - tylko wtedy trzeba też poprawić funkcję walidacji formatu wpisanej godziny.

    0
  • #6 21 Sty 2016 22:54
    adamas_nt
    Moderator Programowanie

    marcinj12 napisał:
    Czyli tak jak mówiliśmy - dateTimePicker = samo zło
    A rzeczywiście, była dyskusja o tym. Masz pamięć! Ot, było pod ręką ;)

    0
  • #7 22 Sty 2016 10:47
    Gianni_85
    Poziom 6  

    Wiecie co Panowie, byłoby super gdybyście potafili przerobić kod tak by data z godziną pojawiało się w zaznaczonej komórce a nie tylko w 1 zaszytej na stałe :)

    0
  • #8 24 Sty 2016 14:25
    Michal_Dabrowski
    Poziom 2  

    Witam,


    Problem nie jest skomplikowany :) wystarczy w kodzie arkusza tym który nazywa się (data), zmienić Range na ActiveCell

    Masz tam takie makro:

    Kod: vbnet
    Zaloguj się, aby zobaczyć kod


    zamieniasz Range("B3") na activecell albo na selection i możnaby jeszcze dodać

    Kod: vbnet
    Zaloguj się, aby zobaczyć kod


    zamiast tego msgboxa (żeby co chwile nie wyskakiwało okno na ekran :)

    Czyli podsumowując powinniśmy mieć w kalendarzu data taki kod:

    Kod: vbnet
    Zaloguj się, aby zobaczyć kod



    Pozdrawiam

    Michał Dąbrowski

    0