Note: The other languages of the website are Google-translated. Back to English

Jak wstawić znacznik daty do komórki, jeśli zaznaczono pole wyboru w programie Excel?

Zwykle datownik wprowadza się za pomocą skrótów klawiszowych w programie Excel. Co powiesz na wstawienie daty do komórki za pomocą pola wyboru w programie Excel? Po zaznaczeniu tego pola wyboru znacznik czasu jest wstawiany automatycznie do określonej komórki. Ten artykuł pomoże Ci go rozwiązać.

Wstaw znacznik daty do komórki, jeśli zaznaczono pole wyboru z kodem VBA


Wstaw znacznik daty do komórki, jeśli zaznaczono pole wyboru z kodem VBA

W tej sekcji wprowadzimy skrypt VBA, który pomoże Ci automatycznie wstawić znacznik daty do komórki, jeśli zaznaczysz pole wyboru w programie Excel. Wykonaj następujące czynności.

1. Po wstawieniu pola wyboru naciśnij inny + F11 klawisze jednocześnie, aby otworzyć Microsoft Visual Basic for Applications okno.

2. w Microsoft Visual Basic for Applications okno, kliknij wstawka > Moduł. Następnie skopiuj i wklej poniższy kod VBA do okna Module.

Kod VBA: wstaw znacznik daty do komórki, jeśli zaznaczono pole wyboru

Sub CheckBox_Date_Stamp()
Dim xChk As CheckBox
Set xChk = ActiveSheet.CheckBoxes(Application.Caller)
With xChk.TopLeftCell.Offset(, 1)
    If xChk.Value = xlOff Then
        .Value = ""
    Else
       .Value = Date
    End If
End With
End Sub

3. naciśnij inny + Q klucze do zamknięcia Microsoft Visual Basic for Applications okno.

4. Kliknij prawym przyciskiem pole wyboru i wybierz Przypisz Micro z menu po kliknięciu prawym przyciskiem myszy. Zobacz zrzut ekranu:

5. w Przypisz makro okno dialogowe, wybierz CheckBox_Date_Stamp Nazwa makra a następnie kliknij OK przycisk. Zobacz zrzut ekranu:

Po zaznaczeniu pola wyboru znacznik daty zostanie automatycznie wstawiony do sąsiedniej komórki.


Powiązane artykuły:


Najlepsze narzędzia biurowe

Kutools dla programu Excel rozwiązuje większość problemów i zwiększa produktywność o 80%

  • Ponowne użycie: Szybko włóż złożone wzory, wykresy i wszystko, czego używałeś wcześniej; Szyfruj komórki z hasłem; Utwórz listę mailingową i wysyłaj e-maile ...
  • Pasek Super Formula (łatwo edytować wiele wierszy tekstu i formuły); Układ do czytania (łatwe odczytywanie i edytowanie dużej liczby komórek); Wklej do filtrowanego zakresu...
  • Scal komórki / wiersze / kolumny bez utraty danych; Podziel zawartość komórek; Połącz zduplikowane wiersze / kolumny... Zapobiegaj zduplikowanym komórkom; Porównaj zakresy...
  • Wybierz Duplikat lub Unikalny Wydziwianie; Wybierz puste wiersze (wszystkie komórki są puste); Super Find i Fuzzy Find w wielu zeszytach ćwiczeń; Losowy wybór ...
  • Dokładna kopia Wiele komórek bez zmiany odwołania do formuły; Automatyczne tworzenie odniesień do wielu arkuszy; Wstaw punktory, Pola wyboru i nie tylko ...
  • Wyodrębnij tekst, Dodaj tekst, Usuń według pozycji, Usuń przestrzeń; Tworzenie i drukowanie podsumowań stronicowania; Konwertuj zawartość komórek i komentarze...
  • Super filtr (zapisz i zastosuj schematy filtrów do innych arkuszy); Zaawansowane sortowanie według miesiąca / tygodnia / dnia, częstotliwości i innych; Specjalny filtr pogrubieniem, kursywą ...
  • Połącz skoroszyty i arkusze robocze; Scal tabele na podstawie kluczowych kolumn; Podziel dane na wiele arkuszy; Konwersja wsadowa xls, xlsx i PDF...
  • Ponad 300 zaawansowanych funkcji. Obsługuje Office / Excel 2007-2021 i 365. Obsługuje wszystkie języki. Łatwe wdrażanie w przedsiębiorstwie lub organizacji. Pełne funkcje 30-dniowa bezpłatna wersja próbna. 60-dniowa gwarancja zwrotu pieniędzy.
karta kte 201905

Karta Office wprowadza interfejs z zakładkami do pakietu Office i znacznie ułatwia pracę

  • Włącz edycję i czytanie na kartach w programach Word, Excel, PowerPoint, Publisher, Access, Visio i Project.
  • Otwieraj i twórz wiele dokumentów w nowych kartach tego samego okna, a nie w nowych oknach.
  • Zwiększa produktywność o 50% i redukuje setki kliknięć myszką każdego dnia!
officetab dół
Sortuj komentarze według
Komentarze (22)
Brak ocen. Oceń jako pierwszy!
Ten komentarz został zminimalizowany przez moderatora na stronie
Dziękuję, to było bardzo pomocne, chciałbym zauważyć, że bardziej przydatne jest umieszczenie datownika po lewej stronie pola wyboru. aby to zrobić wystarczy zmienić przesunięcie na (, -1)
Ten komentarz został zminimalizowany przez moderatora na stronie
Czy można to zrobić z datą ORAZ godziną? Dzięki za informacje tak czy inaczej!
Ten komentarz został zminimalizowany przez moderatora na stronie
Sub CheckBox_Date_Stamp() Dim xChk As CheckBox Set xChk = ActiveSheet.CheckBoxes(Application.Caller) With xChk.TopLeftCell.Offset(, 1) If xChk.Value = xlOff Then .Value = "" Else .Value = Date & " " & Czas Koniec Jeśli Koniec z Koniec Sub
Ten komentarz został zminimalizowany przez moderatora na stronie
Cześć,
Zastosuj poniższy kod VBA, aby dodać datę i godzinę.

Sub CheckBox_Date_Stamp()
Dim xChk jako CheckBox
Ustaw xChk = ActiveSheet.CheckBoxes (Application.Caller)
Z xChk.TopLeftCell.Offset(, 1)
Jeśli xChk.Value = xlOff Wtedy
.Wartość = ""
Więcej
.Wartość = Teraz()
End If
Kończyć z
End Sub
Ten komentarz został zminimalizowany przez moderatora na stronie
HI Wypróbowałem tę formułę i zadziałała tylko dla A1 i B1, kiedy zastosowałem makro do pola wyboru w A1. Jednak gdy zastosowałem makro do pola wyboru w A2, nic się nie stało w B2. Jak zmieniłaby się formuła, gdybym chciał użyć tego do listy kontrolnej? Jeśli kolumna A była polami wyboru, a kolumna C była wypełniona datą.
Ten komentarz został zminimalizowany przez moderatora na stronie
Cześć :) możesz skopiować komórkę z polem wyboru w A1 do reszty kolumny. lub przypisz makro indywidualnie do każdego pola wyboru
Ten komentarz został zminimalizowany przez moderatora na stronie
Dobry dzień,
Proszę przypisać makro indywidualnie do każdego pola wyboru.
Ten komentarz został zminimalizowany przez moderatora na stronie
Dokładnie skopiowałem i wkleiłem kod VBA, ale w moim arkuszu kalkulacyjnym data pojawia się w komórce powyżej i po prawej stronie kolumny z polem wyboru, a nie w komórce bezpośrednio po prawej stronie. ?
Ten komentarz został zminimalizowany przez moderatora na stronie
Mam też dokładnie ten sam problem. "POMOCY! Potrzebuję kogoś POMOCY! Nie byle kto POMOCY! Wiesz, że potrzebuję kogoś POMOCY!
Ten komentarz został zminimalizowany przez moderatora na stronie
Dzień dobry,
Kod działa dobrze w moim przypadku. Po zaznaczeniu pola wyboru data pojawi się w komórce bezpośrednio po prawej stronie. Czy mógłbyś dostarczyć zrzut ekranu swojej sprawy. I jakiej wersji pakietu Office używasz. Dziękuję Ci.
Ten komentarz został zminimalizowany przez moderatora na stronie
Miałem ten sam problem z datą i godziną pojawiającą się w komórce nad zamierzoną komórką (przy użyciu programu Excel 2007). Przeszedłem dalej i zmieniłem formułę „offset”, aby przechodziła przez jedną komórkę i jedną komórkę w dół, a teraz stempel pojawia się tam, gdzie chcę: With xChk.TopLeftCell.Offset(1, 1)
Aktualizuję arkusz roboczy, który ktoś inny utworzył i nie utworzył pól wyboru, ale może to mieć związek z miejscem, w którym znajduje się pole wyboru w komórce. Otrzymałem różne wyniki, gdy ustawiłem pole wyboru na dole komórki.

Mam nadzieję, że pomoże!
Ten komentarz został zminimalizowany przez moderatora na stronie
To właśnie zrobiłem, aby rozwiązać ten problem

Sub CheckBox_Date_Stamp()
Dim xChk jako CheckBox
Ustaw xChk = ActiveSheet.CheckBoxes (Application.Caller)
Z xChk.TopLeftCell.Offset(1, 1)
Jeśli xChk.Value = xlOff Wtedy
.Wartość = ""
Więcej
.Wartość = Teraz()
End If
Kończyć z
End Sub
Ten komentarz został zminimalizowany przez moderatora na stronie
Cześć! Dzięki za kod. Działa doskonale z niewielkimi poprawkami na offsecie. Jednak pracowałem nad arkuszem, który ma wiele wielu wierszy (~500+ wierszy), który zawiera mnóstwo pól wyboru, a rozmiar pliku znacznie wzrósł. Czy jest jakiś sposób na zmniejszenie rozmiaru? Jakiś alternatywny sposób na zrobienie tego?

Dzięki!
Ten komentarz został zminimalizowany przez moderatora na stronie
Dobry dzień
Jeśli w wierszach jest wiele pól wyboru i chcesz działać jednocześnie na wszystkich polach wyboru, poniższy kod VBA może ci pomóc.
Skopiuj kody do okna kodu modułu, wróć do arkusza roboczego i utwórz przycisk (np. Przycisk (kontrolka formularza)), przypisz makro SetAllChkChange() do przycisku, a następnie kliknij przycisk, aby uruchomić kod.

Teraz wszystkie pola wyboru w wierszach arkusza roboczego zostały aktywowane. Możesz zaznaczyć dowolny z nich, aby wstawić datownik w sąsiedniej komórce.

Sub SetAllChkChange()
Przyciemnij xChks
Dim xChk jako CheckBox
Dim xI tak długo
On Error Resume Next
Usuń xArrChk
Ustaw xChks = ActiveSheet.CheckBoxes
Redim Zachowaj xArrChk(1 do xChks.count)
xI = 1
Dla każdego xChk W xChks
xChk.Wybierz
Selection.OnAction = "ObjChkChange"
Dalej
End Sub


SubObjChkChange()
Dim xChk jako CheckBox
Ustaw xChk = ActiveSheet.CheckBoxes (Application.Caller)
Z xChk.TopLeftCell.Offset(, 1)
Jeśli xChk.Value = xlOff Wtedy
.Wartość = ""
Więcej
.Wartość = Data
End If
Kończyć z
End Sub
Ten komentarz został zminimalizowany przez moderatora na stronie
jak mogę wyświetlić datownik pod moim polem wyboru?
Ten komentarz został zminimalizowany przez moderatora na stronie
Cześć! Nie mogę znaleźć sposobu, w którym znacznik daty będzie z boku pola wyboru. próbowałem zmienić wartość przesunięcia z 0, 1 i -1. czy możesz mi z tym pomóc? Dziękuję Ci!
Ten komentarz został zminimalizowany przez moderatora na stronie
Cześć, przypuśćmy, że pole wyboru znajduje się w A2 i chcesz wyświetlić znacznik daty po prawej stronie pola wyboru (w tym przypadku jest to B2), zmień wartość Przesunięcie na Przesunięcie (1, 1).
Ten komentarz został zminimalizowany przez moderatora na stronie
Użyłem VBA do znacznika czasu pola wyboru, ale pierwsze dwie komórki nie działają poprawnie. Moje pierwsze pole wyboru znajduje się w A2, kiedy zaznaczę to pole, czas jest księgowany w B1. Jak to naprawić?
Ten komentarz został zminimalizowany przez moderatora na stronie
Cześć Steve,
Zastąp czwarty wiersz w kodzie słowem With xChk.TopLeftCell.Offset(1, 1).
Ten komentarz został zminimalizowany przez moderatora na stronie
Dziękuję bardzo!! Genialny! Dziękuję Ci!
Ten komentarz został zminimalizowany przez moderatora na stronie
Cześć, jak mogę zapętlić kod, aby uwzględnić wszystkie pola wyboru w kolumnie?
Ten komentarz został zminimalizowany przez moderatora na stronie
Dzień dobry,
Jeśli w wierszach jest wiele pól wyboru i chcesz działać jednocześnie na wszystkich polach wyboru, poniższy kod VBA może ci pomóc.
Skopiuj poniższe kody do okna Kod modułu, wróć do arkusza roboczego i utwórz przycisk (np. Przycisk (kontrolka formularza)), przypisz makro SetAllChkChange() do przycisku, a następnie kliknij przycisk, aby uruchomić kod.

Teraz wszystkie pola wyboru w wierszach arkusza roboczego zostały aktywowane. Możesz zaznaczyć dowolny z nich, aby wstawić datownik w sąsiedniej komórce.

Sub SetAllChkChange()
'Aktualizowany przez Extendoffice 20211130
Przyciemnij xChks
Dim xChk jako CheckBox
On Error Resume Next
Ustaw xChks = ActiveSheet.CheckBoxes
Dla każdego xChk W xChks
xChk.Wybierz
Selection.OnAction = "ObjChkChange"
Dalej
End Sub

SubObjChkChange()
Dim xChk jako CheckBox
Ustaw xChk = ActiveSheet.CheckBoxes (Application.Caller)
Z xChk.TopLeftCell.Offset(, 1)
Jeśli xChk.Value = xlOff Wtedy
.Wartość = ""
Więcej
.Wartość = Data
End If
Kończyć z
End Sub
Nie ma tu jeszcze żadnych komentarzy
Zostaw swój komentarz
Publikowanie jako gość
×
Oceń ten post:
0   Postacie
Sugerowane lokalizacje

Bądż na bieżąco

Prawa autorskie © 2009 - www.extendoffice.com. | Wszelkie prawa zastrzeżone. Zasilany przez ExtendOffice, | Mapa strony
Microsoft i logo Office są znakami towarowymi lub zastrzeżonymi znakami towarowymi Microsoft Corporation w Stanach Zjednoczonych i / lub innych krajach.
Chronione przez Sectigo SSL