Forfatter |
Emne Søg Emne funktioner
|
hopper78
Forum Begynder
Medlem: 24.Aug.2012
Land: Danmark
Status: Offline
Point: 14
|
Emne: auto dato til en anden celle? Sendt: 27.Aug.2012 kl. 12:24 |
Hej alle Jeg er ved at rode med noget excel, er lidt grøn i det ;-) Men jeg har en kolonne jeg skal skrive navne i, når jeg skriver et navn skal der automatisk komme en dato op i anden kolonne ved siden af... Hvordan grejer man lige den? Mvh Hopper
|
 |
|
|
 |
Søren Larsen
Bronze bruger
Medlem: 19.Jul.2012
Land: Danmark
Status: Offline
Point: 43
|
Sendt: 27.Aug.2012 kl. 12:55 |
Det kommer an på hvilken dato, der skal komme frem...?
|
 |
hopper78
Forum Begynder
Medlem: 24.Aug.2012
Land: Danmark
Status: Offline
Point: 14
|
Sendt: 27.Aug.2012 kl. 12:56 |
Det skal være dags dato...
|
 |
Søren Larsen
Bronze bruger
Medlem: 19.Jul.2012
Land: Danmark
Status: Offline
Point: 43
|
Sendt: 27.Aug.2012 kl. 16:09 |
Du kan blot skrive =IDAG() i cellen ved siden af. Men så ændrer datoen sig, dagen efter. Hvis datoen skal "hard-codes" skal du bruge en makro, e.g.:
Private Sub Worksheet_Change(ByVal Target As Range)
On Error Resume Next Application.EnableEvents = False
Target.Offset(0, 1) = Date
Application.EnableEvents = True On Error GoTo 0
End Sub
Det skal du indsætte i VB-editorens worksheet object.
|
 |
hopper78
Forum Begynder
Medlem: 24.Aug.2012
Land: Danmark
Status: Offline
Point: 14
|
Sendt: 27.Aug.2012 kl. 16:45 |
Der stod jeg lige af ;-) Jeg er altså helt nybegynder... Jeg ved godt det med =IDAG() Men der skal ikke stå nogle dato i feltet før jeg skriver navnet i den anden celle...
|
 |
Søren Larsen
Bronze bruger
Medlem: 19.Jul.2012
Land: Danmark
Status: Offline
Point: 43
|
Sendt: 27.Aug.2012 kl. 23:11 |
Jeg forestiller mig, at du sidder med en situation, hvor du skal foretage nogle indtastninger, og så vil du gerne vide hvilken dato du tastede dem. Er det noget i den stil?
Du kan så blot taste datoen manuelt ved siden af, og kopiere/sætte ind ved siden af dine andre indtastninger samme dag.
Men hvis du vil slippe for det, så skal du bruge en makro, da formlen =IDAG() vil ændre sig til dags dato hver gang du åbner filen.
Makroen som jeg har givet i ovenstående, indsætter dags dato, som værdi og ikke som formel, til højre for en hvilken som helst celle, som du skriver noget i i det faneblad hvortil du knytter koden. Jeg kan godt indsætte koden i dit regneark, men hvis du ikke helt ved hvordan det fungere, så kan det hurtigt blive noget skrammel. Og desuden så skal koden nok ændres lidt, for at passe til dit konkrete projekt.
Jeg foreslår, at du læser lidt op på VBA, som for eksempel her:
|
 |
hopper78
Forum Begynder
Medlem: 24.Aug.2012
Land: Danmark
Status: Offline
Point: 14
|
Sendt: 28.Aug.2012 kl. 09:07 |
Nu blev jeg lidt klogere ;-) forestiller mig, at du sidder med en situation, hvor du skal foretage nogle indtastninger, og så vil du gerne vide hvilken dato du tastede dem. Er det noget i den stil? Ja det er noget i den stil... Jeg har indtastet den kode i "Worksheet" i Højre rulle menu står der "SelectionsChange" Efter jeg har indtastet koden: Private Sub Worksheet_SelectionChange(ByVal Target As Range) On Error Resume Next Application.EnableEvents = False Target.Offset(0, 1) = Date
Application.EnableEvents = True
On Error GoTo 0 End Sub Går jeg op i "File" og save... Men der sker ikke noget i dokumentet. Har jeg gjort noget galt? Jeg prøver lige at uploade filen, det er ark nr 5(Salg af væsker) Jeg leger lidt med. MVH Hopper
|
 |
hopper78
Forum Begynder
Medlem: 24.Aug.2012
Land: Danmark
Status: Offline
Point: 14
|
Sendt: 28.Aug.2012 kl. 09:54 |
Hej igen Nu virker det delvist. Macro skulle åbenbart activeres før det virkede ;-) Nu kommer datoen frem til højre, men datoen kommer så snart jeg trykker på feltet. Den skal først komme når jeg har skrevet et navn og trykker enter.. MVH Hopper
|
 |
Søren Larsen
Bronze bruger
Medlem: 19.Jul.2012
Land: Danmark
Status: Offline
Point: 43
|
Sendt: 28.Aug.2012 kl. 10:01 |
Husk at aktivere makroer! Ellers er der ingenting der kører.
Du har skrevet makroen det rigtige sted, du skal bare ikke bruge SelectionChange men bare Worksheet_Change.
Derudover så vil du nok gerne have datoen lagt til venstre for din indtasting. I så fald skal du ændre:
Target.Offset(0, 1) = Date
til
Target.Offset(0, -1) = Date
|
 |
hopper78
Forum Begynder
Medlem: 24.Aug.2012
Land: Danmark
Status: Offline
Point: 14
|
Sendt: 28.Aug.2012 kl. 11:17 |
Mange tak for hjælpen ind til videre ;-) Nu virker det "næsten" som det skal ;-) Det sidste er at: Jeg har 3 kolonner. Dato - Navn - Pris Det virker fint at når jeg skriver navn, så kommer datoen op hvor den skal. Men skriver jeg så pris bliver "navnet" erstattet af datoen. Kan man gør noget så det kun er når jeg skriver et "Navn" at datoen popper op i feltet "Dato"? MVH Hopper
|
 |
Søren Larsen
Bronze bruger
Medlem: 19.Jul.2012
Land: Danmark
Status: Offline
Point: 43
|
Sendt: 28.Aug.2012 kl. 11:23 |
Så skal du definere hvilket område, der skal trigge makroen; e.g.:
Private Sub Worksheet_Change(ByVal Target As Range)
On Error Resume Next If Not Intersect(Target, Range("C:C")) Is Nothing Then Application.EnableEvents = False
Target.Offset(0, -1) = Date
Application.EnableEvents = True End If On Error GoTo 0
End Sub
|
 |
hopper78
Forum Begynder
Medlem: 24.Aug.2012
Land: Danmark
Status: Offline
Point: 14
|
Sendt: 28.Aug.2012 kl. 11:43 |
1000 tak for hjælpen. Nu virker det lige præsic som jeg vil have det ;-) MVH Hopper
|
 |
Søren Larsen
Bronze bruger
Medlem: 19.Jul.2012
Land: Danmark
Status: Offline
Point: 43
|
Sendt: 28.Aug.2012 kl. 12:38 |
|
 |