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

Kako vstaviti datumski žig v celico, če je v Excelu označeno potrditveno polje?

Datumski žig običajno vnesete z bližnjičnimi tipkami v Excelu. Kaj pa vstavite datumski žig v celico s potrditvenim poljem v Excelu? Ko označite potrditveno polje, se časovni žig samodejno vstavi v določeno celico. Ta članek vam bo pomagal rešiti to težavo.

Vstavite datumski žig v celico, če je označeno potrditveno polje s kodo VBA


Vstavite datumski žig v celico, če je označeno potrditveno polje s kodo VBA

Ta razdelek bo predstavil skript VBA, ki vam bo pomagal samodejno vstaviti datumski žig v celico, če je v Excelu označeno potrditveno polje. Naredite naslednje.

1. Ko vstavite potrditveno polje, pritisnite druga + F11 tipke hkrati, da odprete Microsoft Visual Basic za aplikacije okno.

2. V Ljubljani Microsoft Visual Basic za aplikacije okno, kliknite Vstavi > Moduli. Nato kopirajte in prilepite spodnjo kodo VBA v okno modula.

Koda VBA: Če je polje označeno, v celico vstavite datumski žig

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. Pritisnite druga + Q tipke za zapiranje Microsoft Visual Basic za aplikacije okno.

4. Z desno miškino tipko kliknite potrditveno polje in izberite Dodeli Micro v meniju z desnim klikom. Oglejte si posnetek zaslona:

5. V Ljubljani Dodeli makro pogovorno okno, izberite CheckBox_Date_Stamp v Ime makra in nato kliknite OK . Oglejte si posnetek zaslona:

Ko označite potrditveno polje, se datumski žig samodejno vstavi v sosednjo celico.


Sorodni članki:


Najboljša orodja za pisarniško produktivnost

Kutools za Excel rešuje večino vaših težav in poveča vašo produktivnost za 80%

  • Ponovna uporaba: Hitro vstavite zapletene formule, grafikoni in vse, kar ste že uporabljali; Šifriraj celice z geslom; Ustvari poštni seznam in pošiljanje e-pošte ...
  • Vrstica Super Formula (enostavno urejanje več vrstic besedila in formule); Bralna postavitev (enostavno branje in urejanje velikega števila celic); Prilepite v filtrirani obseg...
  • Združi celice / vrstice / stolpce brez izgube podatkov; Vsebina razdeljenih celic; Združi podvojene vrstice / stolpce... prepreči podvojene celice; Primerjaj obsege...
  • Izberite Duplicate ali Unique Vrstice; Izberite prazne vrstice (vse celice so prazne); Super Find in Fuzzy Find v mnogih delovnih zvezkih; Naključna izbira ...
  • Natančna kopija Več celic brez spreminjanja sklica formule; Samodejno ustvarjanje referenc na več listov; Vstavi oznake, Potrditvena polja in še več ...
  • Izvleček besedila, Dodaj besedilo, Odstrani po položaju, Odstrani presledek; Ustvari in natisni vmesne seštevke strani Pretvarjanje med vsebino celic in komentarji...
  • Super filter (shranite in uporabite sheme filtrov za druge liste); Napredno razvrščanje glede na mesec / teden / dan, pogostost in drugo; Poseben filter s krepko, ležeče ...
  • Združite delovne zvezke in delovne liste; Spoji tabele na podlagi ključnih stolpcev; Razdelite podatke na več listov; Paketna pretvorba xls, xlsx in PDF...
  • Več kot 300 zmogljivih funkcij. Podpira Office / Excel 2007-2021 in 365. Podpira vse jezike. Enostavna uvedba v vašem podjetju ali organizaciji. 30-dnevna brezplačna preizkusna različica vseh funkcij. 60-dnevna garancija vračila denarja.
zavihek kte 201905

Kartica Office prinaša vmesnik z zavihki v Office in poenostavi vaše delo

  • Omogočite urejanje in branje z zavihki v Wordu, Excelu, PowerPointu, Publisher, Access, Visio in Project.
  • Odprite in ustvarite več dokumentov v novih zavihkih istega okna in ne v novih oknih.
  • Poveča vašo produktivnost za 50%in vsak dan zmanjša na stotine klikov miške za vas!
dno pisarniške mize
Komentarji (22)
Ocene še ni. Bodite prvi in ​​ocenite!
Ta komentar je moderator na spletnem mestu minimiziral
Hvala, to je bilo zelo koristno. Rad bi opozoril, da se mi zdi bolj koristno, če je datumski žig levo od potrditvenega polja. Če želite to narediti, samo spremenite odmik v (, -1)
Ta komentar je moderator na spletnem mestu minimiziral
Ali je mogoče to narediti z datumom IN uro? Hvala za informacije tako ali tako!
Ta komentar je moderator na spletnem mestu minimiziral
Sub CheckBox_Date_Stamp() Dim xChk Kot potrditveno polje Nastavite xChk = ActiveSheet.CheckBoxes(Application.Caller) z xChk.TopLeftCell.Offset(, 1) Če je xChk.Value = xlOff Potem .Value = "alute" = " &" Else Čas Konec Če Konec s Koncem Sub
Ta komentar je moderator na spletnem mestu minimiziral
Hi,
Za dodajanje datuma in ure uporabite spodnjo kodo VBA.

Pod potrditveno polje_datum_žig()
Dim xChk kot potrditveno polje
Nastavi xChk = ActiveSheet.CheckBoxes(Application.Caller)
Z xChk.TopLeftCell.Offset(, 1)
Če je xChk.Value = xlOff Potem
.Vrednost = ""
Else
.Vrednost = zdaj()
Konec Če
Končaj s
End Sub
Ta komentar je moderator na spletnem mestu minimiziral
Živjo. Preizkusil sem to formulo in je delovala samo za A1 in B1, ko sem uporabil makro v potrditvenem polju v A1. Vendar, ko sem uporabil makro v potrditvenem polju v A2, se v B2 nič ni zgodilo. Kako bi se spremenila formula, če bi to želel uporabiti za kontrolni seznam? Če je bil stolpec A potrditvena polja, stolpec C pa datum dokončanja.
Ta komentar je moderator na spletnem mestu minimiziral
Živjo :) celico s potrditvenim poljem v A1 lahko kopirate v preostali del stolpca. ali vsakemu potrditvenemu polju dodelite makro posebej
Ta komentar je moderator na spletnem mestu minimiziral
Dober dan,
Prosimo, da vsakemu potrditvenemu polju dodelite makro posebej.
Ta komentar je moderator na spletnem mestu minimiziral
Kodo VBA sem natančno kopiral in prilepil, toda v moji preglednici je datum prikazan v zgornji celici in na desni strani stolpca s potrditvenim poljem, ne v celici neposredno na desni. ?
Ta komentar je moderator na spletnem mestu minimiziral
Tudi jaz imam popolnoma isto težavo. "POMOČ! Potrebujem nekoga POMOČ! Ne le kdorkoli POMOČ! Veste, da potrebujem nekoga POMOČ!
Ta komentar je moderator na spletnem mestu minimiziral
Dober dan,
Koda v mojem primeru deluje dobro. Ko potrdite potrditveno polje, se datum prikaže v celici neposredno na desni. Bi posredovali posnetek zaslona vašega primera. In katero različico Officea uporabljate. Hvala vam.
Ta komentar je moderator na spletnem mestu minimiziral
Imel sem enako težavo z datumskim in časovnim žigom, ki sta se pojavila v celici nad predvideno celico (z uporabo Excel 2007). Šel sem naprej in spremenil formulo "odmika" tako, da gre čez eno celico IN eno celico navzdol, zdaj pa se žig pojavi tam, kjer ga želim: z xChk.TopLeftCell.Offset(1, 1)
Posodabljam delovni list, ki ga je ustvaril nekdo drug in ni ustvaril potrditvenih polj, vendar je to morda povezano s tem, kje znotraj celice je postavljeno potrditveno polje. Dobil sem drugačne rezultate, ko sem potrditveno polje poravnal z dnom celice.

Upam, da pomaga!
Ta komentar je moderator na spletnem mestu minimiziral
To sem storil, da sem rešil to težavo

Pod potrditveno polje_datum_žig()
Dim xChk kot potrditveno polje
Nastavi xChk = ActiveSheet.CheckBoxes(Application.Caller)
Z xChk.TopLeftCell.Offset(1, 1)
Če je xChk.Value = xlOff Potem
.Vrednost = ""
Else
.Vrednost = zdaj()
Konec Če
Končaj s
End Sub
Ta komentar je moderator na spletnem mestu minimiziral
Živjo! Hvala za kodo. Popolnoma deluje z lil tweakingom na offsetu. Vendar sem delal na listu, ki ima veliko mnogo vrstic (~500+ vrstic), ki vsebuje obremenitev potrditvenih polj in velikost datoteke se je znatno povečala. Ali obstaja način za zmanjšanje velikosti? Kakšen alternativni način za to?

Hvala!
Ta komentar je moderator na spletnem mestu minimiziral
Dobro da
Če je v vrsticah veliko potrditvenih polj in želite delovati na vsa potrditvena polja hkrati, vam lahko pomaga spodnja koda VBA.
Kopirajte kode v okno kode modula, se vrnite na delovni list in ustvarite gumb (kot je gumb (nadzor obrazca)), gumbu dodelite makro SetAllChkChange() in nato kliknite gumb, da zaženete kodo.

Zdaj so aktivirana vsa potrditvena polja v vrsticah vašega delovnega lista. Označite lahko katero koli od njih, da vstavite datumski žig v sosednjo celico.

Sub SetAllChkChange()
Dim xChks
Dim xChk kot potrditveno polje
Dim xI Tako dolgo
On Error Resume Next
Izbriši xArrChk
Nastavite xChks = ActiveSheet.CheckBoxes
ReDim Preserve xArrChk(1 do xChks.count)
xI = 1
Za vsak xChk v xChks
xChk.Izberi
Selection.OnAction = "ObjChkChange"
Naslednji
End Sub


Sub ObjChkChange()
Dim xChk kot potrditveno polje
Nastavi xChk = ActiveSheet.CheckBoxes(Application.Caller)
Z xChk.TopLeftCell.Offset(, 1)
Če je xChk.Value = xlOff Potem
.Vrednost = ""
Else
.Vrednost = Datum
Konec Če
Končaj s
End Sub
Ta komentar je moderator na spletnem mestu minimiziral
kako naj se datumski žig prikaže pod mojim potrditvenim poljem?
Ta komentar je moderator na spletnem mestu minimiziral
zdravo! zdi se mi, da ne najdem načina, kje bo datumski žig ob strani potrditvenega polja. Poskušal sem spremeniti vrednost odmika iz 0, 1 in -1. mi lahko pomagaš pri tem? Hvala vam!
Ta komentar je moderator na spletnem mestu minimiziral
Pozdravljeni, če je vaše potrditveno polje v A2 in želite izpisati datumski žig na desni strani potrditvenega polja (v tem primeru je to B2), spremenite vrednost Offset v Offset(1, 1).
Ta komentar je moderator na spletnem mestu minimiziral
Uporabil sem VBA za časovni žig potrditvenega polja, vendar prvi dve celici ne delujeta pravilno. Moje prvo potrditveno polje je v A2, ko potrdim polje, je čas knjižen v B1. Kako naj to popravim?
Ta komentar je moderator na spletnem mestu minimiziral
Hi Steve,
Četrto vrstico v kodi zamenjajte z Z xChk.TopLeftCell.Offset(1, 1).
Ta komentar je moderator na spletnem mestu minimiziral
Najlepša hvala!! Briljantno! Hvala vam!
Ta komentar je moderator na spletnem mestu minimiziral
Živjo, kako lahko zavijem kodo, da vključim vsa potrditvena polja v stolpec?
Ta komentar je moderator na spletnem mestu minimiziral
Dober dan,
Če je v vrsticah veliko potrditvenih polj in želite ukrepati na vseh potrditvenih poljih hkrati, vam lahko pomaga spodnja koda VBA.
Kopirajte spodnje kode v okno kode modula, vrnite se na delovni list in ustvarite gumb (kot je gumb (nadzor obrazca)), dodelite makro SetAllChkChange() do gumba, nato kliknite gumb, da zaženete kodo.

Zdaj so aktivirana vsa potrditvena polja v vrsticah vašega delovnega lista. Označite lahko katero koli od njih, da vstavite datumski žig v sosednjo celico.

Sub SetAllChkChange()
'Posodobil Extendoffice 20211130
Dim xChks
Dim xChk kot potrditveno polje
On Error Resume Next
Nastavite xChks = ActiveSheet.CheckBoxes
Za vsak xChk v xChks
xChk.Izberi
Selection.OnAction = "ObjChkChange"
Naslednji
End Sub

Sub ObjChkChange()
Dim xChk kot potrditveno polje
Nastavi xChk = ActiveSheet.CheckBoxes(Application.Caller)
Z xChk.TopLeftCell.Offset(, 1)
Če je xChk.Value = xlOff Potem
.Vrednost = ""
Else
.Vrednost = Datum
Konec Če
Končaj s
End Sub
Tu še ni objavljenih komentarjev
Pustite vaše komentarje
Objava kot gost
×
Ocenite to objavo:
0   Znaki
Predlagane lokacije

Sledi nam

Copyright © 2009 - www.extendoffice.com. | Vse pravice pridržane. Poganja ga ExtendOffice. | Kazalo
Microsoft in logotip Office sta blagovni znamki ali registrirani blagovni znamki družbe Microsoft Corporation v ZDA in / ali drugih državah.
Zaščiteno s Sectigo SSL