Print side | Luk vindue

automatisk dato indsættelse

Udskrevet fra: Dansk Regneark Forum
Kategori: Hjælp til regneark.
Forum navn: Formler
Forum beskrivelse: Hjælp til formler i regneark og/eller brugen af disse.
Web-adresse: https://forum.excel-regneark.dk/forum_posts.asp?TID=2066
Udskrevet den: 03.Feb.2025 kl. 21:54


Emne: automatisk dato indsættelse
Besked fra: Gus
Emne: automatisk dato indsættelse
Posteringsdato: 09.Apr.2015 kl. 09:40
Hej
 
En lille udfordring..
 
Ved at vælge i en drop down menu, om en ting er shipped eller ej.
Når man vælger Shipped, så skal dagens dato komme i et andet felt..
 
Jeg bruger følgende formel.
 
'=+IF(D14="Shipped";+TODAY();"")
 
Det virker fint "på dagen", men imorgen, skifter dato selvfølgelig igen !!!
HEr kommer min udfordring, hvordan får jeg dagens dato til at komme i et fejl ved en formel, men den skal bliver den, så imorgen nor endnu en pakke shippes, så kommer imorgens dato i et andet felt.
 
Håber det giver mening - og at der sidder en skarp person, som kan knække den !!
 
Gus



Svar:
Besked fra: EXCELGAARD
Posteringsdato: 09.Apr.2015 kl. 12:31
Brug 'Worksheet_Change' eventen til at udfylde cellen med dags dato...

...og, væn dig af med den uvane, med at skrive plusser foran formler!!!


-------------
Husk, at trykke på [Tak], hvis du kan lide et indlæg.
Husk, at trykke på [Accepteret Svar], hvis du kan bruge et løsningsforslag.


Besked fra: froksen
Posteringsdato: 09.Apr.2015 kl. 13:44
En simpel udgave af det Excelgaard beskriver. Se vedhæftede. Makroen i arket er følgede:

Private Sub ComboBox1_Change()
    If LCase(ComboBox1.Value) = "shipped" Then
        Range("E7") = Date
    Else
        Range("E7") = ""
    End If
End Sub

uploads/271/Automatisk_dato_indsaettelse_.xlsm" rel="nofollow - uploads/271/Automatisk_dato_indsaettelse_.xlsm



Besked fra: Gus
Posteringsdato: 09.Apr.2015 kl. 14:31
Jeg er ikke sikker på at Makroen virker efter hensigten, da ja den indsætter korrekt nok dato i cellen ved ændring til Shipped, men imorgen 10/4, vil dato da være 10/4 og ikke 9/4 da vi shipper idag !
 
Så dato 9/4 skal sidde fast, og ikke ændre sig til 10/4 imorgen.
 


Besked fra: Gus
Posteringsdato: 09.Apr.2015 kl. 14:32
Worksheet_change
 
HAr jeg ikke hørt om, den er helt ny for mig, må lige google det..


Besked fra: froksen
Posteringsdato: 09.Apr.2015 kl. 14:57
Hej Gus

Når comboboxen ændres til "Shipped", da vil der blive indsat dagsdato som en tekststreng. Hvis du gemmer arket og åbner det i morgen, da vil der stadigt stå denne dato. Det ændres kun, hvis comboboxen ændres fra f.eks. Shipped => Not Shipped => Shipped igen.

Modsat den formel-funktion, som du brugte i din oprindelige indlæg, bliver dato i celle E7 ikke "genberegnet". 


Besked fra: Gus
Posteringsdato: 09.Apr.2015 kl. 15:58
Ok super tak for det..
 
Så skal jeg bare lige finde ud af hvordan jeg får makroen til at virke som en dropdown menu på alle celler til fx. en varer.
 


Besked fra: froksen
Posteringsdato: 09.Apr.2015 kl. 16:46
Hej

Jeg har forsøgt at skrive en makro og lave kommentarer til. Måske kan den bruges? Se evt. vedhæftede, hvor makroen er anvendt. Jeg har kun implementeret for "lager" og "reserveret", men du fanger nok pointen eller spørger du bare igen :-)

Private Sub Worksheet_Change(ByVal Target As Range)

    'Tjekker om markøren er i kolonne C (Hvor status står)
    If Not Intersect(Target, Range("C:C")) Is Nothing Then
    
        'Hvis den er det, så tjekker den hvad status er i sted (altså rullegardinet)
        Select Case LCase(Target.Value)
            Case "lager":
                'Giver lidt respons.
                MsgBox "Varen er lagt på lager den " & Date
                
                'Skriver datoen i kolonne D, der har sammerække, som den valgte.
                'Offset-funktionen skal læses som. Tag hvor markøren står, og tryk 0 rækker ned og 1 kolonne til højre. (Altså til datofeltet)
                Target.Offset(0, 1).Value = Date
            Case "reserveret":
                'Giver lidt respons.
                MsgBox "Varen er reserveret den " & Date
                
                'Skriver datoen i kolonne D, der har sammerække, som den valgte.
                'Offset-funktionen skal læses som. Tag hvor markøren står, og tryk 0 rækker ned og 1 kolonne til højre. (Altså til datofeltet)
                Target.Offset(0, 1).Value = Date
        End Select
    End If
End Sub

uploads/271/automatisk_dato_indsættelse_-_forslag_2.xlsm" rel="nofollow - uploads/271/automatisk_dato_indsættelse_-_forslag_2.xlsm


Besked fra: EXCELGAARD
Posteringsdato: 12.Apr.2015 kl. 18:13
@Froksen: Dejligt, at se en programmør, der dokumenter sit arbejde i koden, og beskriver (heavily commented), hvad og hvordan, med kommentarer, der, hvor tingene sker...

...professionelt arbejde, der - godt gået Thumbs Up

(Er rent faktisk punkt nummer 1, over de gyldne programmeringsregler:
www.excelgaard.dk/Lib/Macros/GPP/ www.excelgaard.dk/Lib/Macros/GPP/)


-------------
Husk, at trykke på [Tak], hvis du kan lide et indlæg.
Husk, at trykke på [Accepteret Svar], hvis du kan bruge et løsningsforslag.



Print side | Luk vindue