„Excel“ - pakeiskite datą automatiškai
![](http://img.brin-designs.com/img/games/316/excel-change-date-automatically.png)
Problema
Naudoju šią formulę savo darbo lape:
= IF (ARBA (A1 = 1, A1 = 2, A1 = 3), šiandien (), "")
Problema ta, kad kai kitą dieną atidarysiu savo lapą, visos atvykimo datos pasikeis į šiandien, man reikia praėjusios dienos, kad likčiau toks pats ir tik naujas įrašas, rodantis šiandienos datą, prašome bet kokio kūno pagalbos!
Būsenos dienų vėliava Darbo aprašymas Data 1 2010 m. Gegužės 16 d. 2 2010 m. Gegužės 17 d. 1 2010 m. Gegužės 20 d
Sprendimas
Jei reikšmė A1 bus įvesta rankiniu būdu, galite naudoti įvykius
Padaryti tai
- 1. Paspauskite ALT + F11, kad paleistumėte VBE
- 2. Paspauskite CTRL + R, kad parodytumėte projekto tyrėją
- 3. Dukart spustelėkite lapą, kuriame bus pakeista A1 vertė
- 4. Įklijuokite šį kodą
„Private Sub Worksheet_Change“ („ByVal Target As Range“), jei įvykis nebuvo pradėtas naudojant pirmąjį stulpelį (A stulpelis), tada nieko nereikia daryti Jei (Target.Column 1) Išeiti iš „Sub“, jei įvykis nebuvo suaktyvintas 1 eilutėje If (Target. 1 eilutė) Tada išeiti iš „Sub“ išjungti įvykius, kad mes nepatektume į įvykių ciklą Application.EnableEvents = False Jei Tikslas = 1 Arba Tikslinė = 2 Arba Tikslinė = 3 Tada „1 eilutė žemyn ir viena stulpelis į dešinę Target.Offset (1, 1) = CDate (dabar) ta pati eilutė ir vienas stulpelis dešinėje Target.Offset (0, 1) = "" Kiti 1 eilutė žemyn ir vienas stulpelis dešinėje Target.Offset (1, 1) = "" " ta pati eilutė ir vienas stulpelis į dešinę Target.Offset (0, 1) = CDate (Dabar) Pabaiga Jei „mes dabar darome, galime vėl įgalinti evetns taikymą. Application.EnableEvents = True End Sub
Prisimink tai
Ačiū rizvisa1 už šį patarimą forume.