Avatar billede prinsib Seniormester
02. december 2008 - 19:03 Der er 20 kommentarer og
1 løsning

Formel med =IDAG()

Hej herinde.
Jeg har brug for lidt hjælp. Sikkert ikke et problem for jer.
I A1 har jeg =HVIS(B1<>"";(IDAG());"")
I A2 =HVIS(B2<>"";(IDAG());"")
Når jeg skriver noget i B2 ændre datoen i A1 sig også.
Jeg gerne have at datoen som stod i A1
ikke ændre sig, men bliver på den dato den stod på.
Er det til at forstå? Ellers skriv.
Hilsen Ib
Avatar billede jkrons Professor
02. december 2008 - 19:12 #1
Du skal nok ud i noget makro, for at få det til at virke. Formler vil altid blive opdateret, npr der ændres i arket.

Følgende i arkets modulark kan gøre det.

Private Sub Worksheet_Change(ByVal Target As Range)
    If Not Intersect(Target, Range("b1:b2")) Is Nothing Then
        Target.Offset(0, -1).Value = Date
    End If
End Sub
Avatar billede prinsib Seniormester
02. december 2008 - 21:51 #2
Hej jkrons.
Det ser rigtig ud, men jeg kan ikke teste det før i morgen, eller efter midnat.
Ib
Avatar billede jkrons Professor
02. december 2008 - 23:27 #3
Det er bare i orden :-)
Avatar billede prinsib Seniormester
03. december 2008 - 09:22 #4
Desværre jkrons, det virkede ikke.
Da jeg åbnede arket her til morgen skiftede datoen i A1 (datoen i går)til datoen idag.
Ib
Avatar billede jkrons Professor
03. december 2008 - 13:04 #5
Prøv med

Private Sub Worksheet_Change(ByVal Target As Range)
    If Not Intersect(Target, Range("b1:b2")) Is Nothing Then
        If IsEmpty(target.offset(0, -1) then
            Target.Offset(0, -1).Value = Date
        End If
    End If
End Sub
Avatar billede prinsib Seniormester
03. december 2008 - 15:22 #6
Jeg prøver, men først efter midnat.
Ib
Avatar billede jkrons Professor
03. december 2008 - 15:40 #7
OK.
Avatar billede prinsib Seniormester
04. december 2008 - 10:55 #8
Desværre det virkede heller ikke. Sig mig gør jeg det rigtig.
Kopierer koden.- Højreklik på ark fanen (Ark1)- Vis programkode.- Insert - Module - Paste. - Gem.?
Ib
Avatar billede prinsib Seniormester
04. december 2008 - 11:12 #9
Måske er min forklaring ikke god nok. Prøver lige en anden.
I A1 har jeg min formel med IDAG. I B1 skriver jeg en kurs ind. I C1 regner den så kursværdien ud for den dag. Næste dag skriver jeg en ny kurs ind i B2. - ny kursværdi udregnes i C2 og ny IDAG i A2.
Nu sker der så desværre det at Datoen i A1 ændres til IDAG. Den skulle jo gerne forblive datoen i går.
Jeg skulle jo gerne i morgen og fremover kunne gøre det samme hver dag, uden at den "gamle dato" ændres.
Er denne forklaring bedre?
Ib
Avatar billede kabbak Professor
04. december 2008 - 11:18 #10
Højreklik på ark fanen (Ark1), du skal ikke Insert module, da det er i arkets modul, den skal være.

Find arkets navn i boksen til venstre, klik på den og sæt så koden ind på det hvide felt til højre.


Slet koden nede i det Module du har lavet
Avatar billede jkrons Professor
04. december 2008 - 17:40 #11
Og fjern IDAG() fra de celler, hvor den står.
Avatar billede prinsib Seniormester
04. december 2008 - 23:42 #12
Hej kabbak. Jeg er ikke særlig god til det med koder og hvor de skal sættes ind.
Nu har jeg gjort som du sagde, men jeg kan jo først afprøve det efter kl. 24.
jkrons jeg forstår ikke det du siger at jeg skal fjerne IDAG() for det går jo netop ud på at når jeg skriver noget i B1 o.s.v. skal dags dato komme op i A1 o.s.v. Jeg har prøvet at fjerne det men så sker der noget med at jeg kommer ind i koden, og noget med debugging. Jeg forstår det ikke.
Ib
Avatar billede prinsib Seniormester
05. december 2008 - 00:17 #13
Nej det virkede ikke. Datoen i A1 skiftede efter kl. 24. Da jeg skrev en ny kurs i B2 kom jeg ind i koden, og der kom en box frem hvori der stod compile error og syntax error.
Linien "If IsEmpty(target.offset(0, -1) then" var farvet blå. Er det ikke også mærkeligt at denne linie når jeg bare går ind og kikker i koden er teksten med rød farve.
Ib
Avatar billede jkrons Professor
05. december 2008 - 09:05 #14
Ib --> Der skal ikke være nogen IDAG(), fordi koden selv indsætter en dato i A, når du skriveri  B. Altså, når du indtaster en kurs i B1, indsættes en dato i A1. Når du indtaster en kurs i B2, indsættes en dato i A2. Den oprindelige kode gjorde at disse datoer først bliver ændret næste gang, du taster noget i enten B1 eller B2. Den seneste kode bevirker, at de ikke ændres igen - selvom du taster i B1 eller B2.

Når den er rød i sidste omgang, skyldes det, at der manglede en parentes. Den skulle have set sådan ud.

Private Sub Worksheet_Change(ByVal Target As Range)
    If Not Intersect(Target, Range("b1:b2")) Is Nothing Then
        If IsEmpty(Target.Offset(0, -1)) Then
            Target.Offset(0, -1).Value = Date
        End If
    End If
End Sub

Så længe du har en IDAG() formel i en celle, vil datoen ændre sig her, når datoen skifter.

I stedet for at vente til efter midnat, kan du ændre pc'ens dato, afprøve regnearket og så ændre datoen tilbage igen.
Avatar billede prinsib Seniormester
05. december 2008 - 10:54 #15
Hej Jan. Du har gjort det igen. Nu virker det perfekt. Det hjalp med en parentes og sletning af IDAG. Jeg vidste ikke det med den røde skrift, og kabbak tak for at du fortalte hvor koden skulle være. Jeg lærer noget hele tiden her inde.
Jeg synes at jkrons bør have points da han var den som kom med koden, men kabbak endnu en gang tak for din hjælp.
jkrons send et svar.
Avatar billede jkrons Professor
05. december 2008 - 10:59 #16
Her er et svar :-) men del du bare pointene med kabbak. Jeg tænkte ikke lige over at fortælle, hvor koden skulle ligge.
Avatar billede kabbak Professor
05. december 2008 - 11:12 #17
ingen point til mig tak, jeg prøvede bare at skubbe i den rigtige retning. ;-))
Avatar billede prinsib Seniormester
05. december 2008 - 16:24 #18
Hej Jan. Hvorfor kan jeg ikke se dit svar.
Ib
Avatar billede jkrons Professor
05. december 2008 - 17:11 #19
Fordi jeg ikke har lagt det før nu .-)
Avatar billede prinsib Seniormester
05. december 2008 - 17:41 #20
Værsgo Jan. Tak til kabbak
Ib
Avatar billede jkrons Professor
05. december 2008 - 18:44 #21
Tak for det :-)
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Excel kurser for alle niveauer og behov – find det kursus, der passer til dig

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester