Avatar billede compater Nybegynder
26. juli 2005 - 17:11 Der er 7 kommentarer og
1 løsning

Fødselsdags liste, automatisk opdatering

I kollone A har jeg datoerne, i kollone B har jeg navne, og i kollone C har jeg Alderen.

Hver gang jeg starter Excel undersøger makroen om en af datoerne i kolonne A, passer med dagsdato. gør de det, kommer en Msgbox, med beskeden om at en person har fødselsdag. Herefter opdatere makroen, datoen i kolonne A, med 1 år, samt i kollone C, Alderen med 1 år.

problemet er at hvis jeg springer én dag over med at åbne Excelarket, så opdateres fødselsdato og alder ikke og msgboxen kommer således heller ikke næste år, hvilket jo vil resultere i at personens fødselsdag vil blive glemt. !?!

Hvordan klare jeg lige det problem, det er sikkert logisk ??
Avatar billede karstenl Nybegynder
26. juli 2005 - 17:18 #1
Du skriver det på en post-it og sætter det MIDT på din skærm, på den måde glemmer du det ALDRIG :P .. hehe.. nej sorry. Kunne ikke lade være *G*

Er faktisk intr. i lidt det samme bare skrevet i ASP. :)

Håber du finder ud af det/får hjælp :)
Avatar billede compater Nybegynder
26. juli 2005 - 17:22 #2
hehe, det er okay, det altid rart med folk som forstår sig på humor.. (8-)
Avatar billede kabbak Professor
26. juli 2005 - 17:44 #3
Private Sub Workbook_Open()
Sheets("Fødselsdag").Select
N = Range("A65536").End(xlUp).Row
For i = 2 To N
If Cells(i, 1) <= Date Then
MsgBox Cells(i, 2) & " Har fødselsdag " & Cells(i, 1)
Cells(i, 1) = DateAdd("YYYY", 1, Cells(i, 1))
Cells(i, 3) = Cells(i, 3) + 1
End If
Next
End Sub
Avatar billede compater Nybegynder
26. juli 2005 - 18:07 #4
Det virker ikke umiddelbart rigtigt, når jeg indsætter koden: If Cells(i, 1) <= Date
Indsætter makroen en dato i alle de tomme celler i kollone A ??
Avatar billede kabbak Professor
26. juli 2005 - 18:10 #5
Har du da tomme celler imellem datoerne i kolonne A ?

Sheets("Fødselsdag").Select ' husk at skrive rigtig arknavn

N = Range("A65536").End(xlUp).Row ' finder sidste udfyldte celle i A kolonnen
Avatar billede kabbak Professor
26. juli 2005 - 18:13 #6
Nu har jeg rettet, hvis cellen er tom, sker der ikke noget.

Private Sub Workbook_Open()
Sheets("Fødselsdag").Select
N = Range("A65536").End(xlUp).Row
For i = 2 To N
If Cells(i, 1) <= Date And Cells(i, 1) <> "" Then
MsgBox Cells(i, 2) & " Har fødselsdag " & Cells(i, 1)
Cells(i, 1) = DateAdd("YYYY", 1, Cells(i, 1))
Cells(i, 3) = Cells(i, 3) + 1
End If
Next
End Sub
Avatar billede compater Nybegynder
26. juli 2005 - 18:17 #7
Så jeg fik jeg det til at virke, det var fordi jeg havde tomme celle fra A1:A3, glemte at rette for I = 2 to N til I = 4 to N

Tak for hjælpen, læg et svar... :)
Avatar billede kabbak Professor
26. juli 2005 - 18:36 #8
et svar ;-))
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
Kurser inden for grundlæggende programmering

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