Avatar billede engberg Juniormester
31. maj 2005 - 15:26 Der er 14 kommentarer og
1 løsning

Husk dagen i regneark? makro?

Jeg har en liste over fødselsdage, som jeg burde huske i et excel regneark - kan man lave en makro (eller noget andet) som løber posterne igennem og ser om der er nogen der matcher i dag og så kommer med en besked hvis der er?
Avatar billede b_hansen Novice
31. maj 2005 - 15:36 #1
Med risiko for at være på tværs *S*

Jeg vil da foreslå, at du smider datoerne over i Outlooks kalenderfunktion i stedet for. Den kan jo automatisk poppe op med en besked på bestemte datoer.
Avatar billede frezzer81 Nybegynder
31. maj 2005 - 16:08 #2
Ved ik helt hvordan det gøres med en macro, men du kunne muligvis bruge HVIS funktionen, så som:

=HVIS(A1=B1;"hurra for bent";HVIS(A1=B2;"hurra for søren";))

A1 er dagens dato
B1 er bent's fødselsdags dato
B2 er søren's fødselsdags dato
etc etc

Nok smartere hvis man kan lave det i en macro dog.
Avatar billede brynil Nybegynder
31. maj 2005 - 18:42 #3
Hvis det skal være i Excel, så kan du lege videre med denne makro. Jeg er enig i at Outlook vil være et mere naturligt sted at placere dine fødselsdage, men hvis det er sjovere at lege med Excel, så er dette en mulighed.

I et ark med navnet "Fødselsdage" har jeg flg. kolonner:

-A-        -B-
Rip    20-06-1982
Rap    31-05-1954
Rup    31-05-1984

Lav flg. makro:

Private Sub Workbook_Open()

Application.ScreenUpdating = False

Dim i, antalFdg, allePers As Integer
Dim idag, FDag As String
Dim Medd As String
Dim arrHilsenTil() As String

allePers = Range("A65000").End(xlUp).row
ReDim arrHilsenTil(1 To allePers, 1)

idag = Format(Now, "dd-mm")
With Sheets("Fødselsdage")
    For i = 1 To allePers
        FDag = Mid(.Cells(i, 2).Value, 1, 5)
        If FDag = idag Then
            .Cells(i, 3).Value = Year(Now) - Format(.Cells(i, 2).Value, "yyyy")
            antalFdg = antalFdg + 1
            arrHilsenTil(i, 0) = .Cells(i, 1).Value
            arrHilsenTil(i, 1) = .Cells(i, 3).Value
        End If
    Next i
End With

If antalFdg = 0 Then
    Medd = "Ingen fødselsdage idag"
Else
    Medd = "Idag har flg. fødselsdag: " & vbCrLf & vbCrLf
   
    For i = 1 To allePers
        If Not arrHilsenTil(i, 0) = "" Then
            Medd = Medd & arrHilsenTil(i, 0) & ", som fylder " & arrHilsenTil(i, 1) & " år." & vbCrLf
        End If
    Next i
End If

MsgBox Medd

Sheets("Fødselsdage").Range("C:C").Value = ""
Application.ScreenUpdating = True

End Sub
Avatar billede jkrons Professor
01. juni 2005 - 16:39 #4
Denne makro forudsætter at du har Navne i A og Fødlsesdage i B:

Private Sub Workbook_Open()
    For Each c In Range("b1:a100").Cells
        If DatePart("d", c.Value) = DatePart("d", Date) _
        And DatePart("m", c.Value) = DatePart("m", Date) Then
            MsgBox c.Offset(0, -1).Value & " har fødselsdag i dag"
        End If
    Next c
End Sub

Ret selv området i kolonner mm. til det rigtige. Læ koden i projektmappens kodeark ("ThisWorkbook"), så adspilles den automatisk hver kan du åbner filen.
Avatar billede jkrons Professor
06. juni 2005 - 10:23 #5
Kunne du bruge noget af det?
Avatar billede engberg Juniormester
03. juli 2005 - 07:22 #6
Ikke for at være besværlig, men kan man ikke gøre det, UDEN at skulle åbne regnearket først???
Avatar billede b_hansen Novice
04. juli 2005 - 08:04 #7
Det bliver nok lidt umuligt. Essensen i det du ønsker, er, at der skal laves en datokontrol til en liste du har. Men listen må ikke åbnes...... hvordan skal kontrollen så lige foregå?

Hvis det er fordi, du ikke ønsker at køre flere programmer, vil jeg da igen henvise til min oprindelige kommentar. Langt de fleste har alligevel Outlook kørende, og her er det nemt at lægge mærkedagene ind. Også for mange år ad gangen.
Avatar billede jkrons Professor
04. juli 2005 - 09:25 #8
Helt enig med b_hansen.l Du kan ikke kontrollere listen, hvis ikke den er åben. Hvis det er fordi du ikke vil se arket, kan du evt. åbne mappen skjult.

b_hansen: Outlook lider af den skavank, at programmet ikke kan finde ud af, hvor gamle folk er :-)
Avatar billede b_hansen Novice
04. juli 2005 - 09:47 #9
jkrons> Hvis det drejer sig om kvinder, er det vel osse kun en fordel. Så kan man indtaste en fast tekst i stil med "25 år".... *GG*
Men ellers har du selvfølgelig ret. Outlook kan ikke regne, men det står der vel egentlig heller ikke noget om i opgavebeskrivelsen.
Avatar billede jkrons Professor
04. juli 2005 - 09:58 #10
b_hansen: Næh, det gør der selvfølgelig ikke. Det plejer bare at være et af de tilbagevendende spørgsmål om Outlook :-)
Avatar billede engberg Juniormester
04. juli 2005 - 20:28 #11
Jeg beklager at have været til besvær, men nu har jeg konverteret min excel-fil til csv og derefter importeret den i en mysql-database, lavet et php-dokument der laver det jeg ville have haft makroen til og lagt .php filen i computerens opstarts-mappe.... TADAAA!!!

Nå, men jeg ville jo egentlig gerne dele nogle point ud alligevel, så hvis I lige vil smide svar...
Avatar billede b_hansen Novice
01. august 2005 - 10:27 #12
jamen du får så et svar. Men et eller andet sted synes jeg nok, du selv skal tage pointene, da du selv har fundet en løsning.
Avatar billede engberg Juniormester
01. august 2005 - 13:06 #13
og det var så ikke et svar.....

og min løsning var jo ikke rigtigt en del af spørgsmålet, så ingen kunne jo have givet det svar jeg endte med at bruge - ergo bliver jeg nødt til at acceptere de svar der svarer på det konkrete spørgsmål jeg har stillet..
Avatar billede b_hansen Novice
01. august 2005 - 13:24 #14
ok, hvis du insisterer *S*. Og jeg takker.
Avatar billede SA_ettre Nybegynder
12. november 2015 - 13:11 #15
Hej

Ved godt det er en gammel tråd, men den har været brugbar for mig :-)

Tak for det..

Hvis jeg ikke ønsker at få en meddelelse når der ikke er nogle der har fødselsdag, men kun ved fødselsdage...

Håber på et svar, på forhånd tak

Søren A.
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