Avatar billede sjokoman Juniormester
03. april 2012 - 07:37 Der er 7 kommentarer og
1 løsning

POPUP på dato og tid i en celle

Jeg har et regneark med datoer og ugedag etc. Jeg kunne godt tænke mig en popup i en celle på en given dag og tid.

Hvis jeg har datoen i A1, det kunne være den 2. april 2012, ville jeg godt have en popup fredag den 6. april kl.17.00 i en bestemt celle f.ek.s F22, enten at cellen ændrer sig eller en besked/reminder. Det skal vike som en rød lampe, der tændes og siger HUSK NU!
Er dette muligt?

mvh Johnny
Avatar billede supertekst Ekspert
03. april 2012 - 08:53 #1
Hvordan kommer cellerne ind i billedet?
Avatar billede sjokoman Juniormester
03. april 2012 - 08:57 #2
Det er en vagtplan, hvor øverste linie er datoer og kolonnerne er de enkelte vognnumre. Jeg har typsik skrevet et tal i dem...

mvh Johnny
Avatar billede supertekst Ekspert
03. april 2012 - 09:07 #3
Ok - hvor er alarmtidspunktet placeret?
Avatar billede sjokoman Juniormester
03. april 2012 - 10:08 #4
Ja, jeg har jo ikke noget. Men du mener, at jeg skal oprette en celle med klokkeslet? Det junne være D2.

Mvh

Johnny
Avatar billede supertekst Ekspert
03. april 2012 - 10:23 #5
Som eksempel kan jeg nævne at jeg har indlagt datoer i et excel-ark, via VBA overført "alarmtidspunkt" til Outlook-kalender. D.v.s. at kommer PopoUp når tidspunktet er nået. Dette kunne nok også indbygges i din vagtplan.
Avatar billede sjokoman Juniormester
03. april 2012 - 10:41 #6
Lyder som om, det er det.
Jeg vil da gerne prøve.

mvh Johnny
Avatar billede supertekst Ekspert
03. april 2012 - 11:36 #7
Vender tilbage..
Avatar billede supertekst Ekspert
04. april 2012 - 10:57 #8
Rem Reference til Microsoft Outlook 12.0 Object Library er sat
Rem Kan ændres via Alt+F11 / Tools / References
Rem ==========================================================
Private Sub opdaterIOutlook(datokl, meddelelse)
Dim olApp, Namespace, myCalendar
   
    Set olApp = CreateObject("Outlook.Application")
    Set Namespace = olApp.GetNamespace("MAPI")
    Set obs = Namespace.GetDefaultFolder(olFolderCalendar).Items

    Set obs = olApp.CreateItem(olAppointmentItem)

    obs.Start = datokl
    obs.Subject = meddelelse
    obs.ReminderSet = True
    obs.Save
End Sub
Rem -------------------------------------
Rem DOBBELTKLIK - Slet Outlook meddelelse
Rem -------------------------------------
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
Dim ræk As Long, dag As Date
    If Target.Column = 3 And Target <> "" Then
        Cancel = True
        ræk = Target.Row
        If IsDate(Range("A" & ræk)) = True Then
            dag = Format(Range("A" & ræk), "dd-mm-yyyy")
            If sletkalender(dag, Range("B" & ræk)) = True Then
                Target = ""
            Else
                MsgBox "Aftalen blev ikke fundet i Outlook"
            End If
        End If
    End If
End Sub
Public Function sletkalender(dato, søgEfter)
    Set olApp = CreateObject("Outlook.Application")
    Set Namespace = olApp.GetNamespace("MAPI")

    startdag = Format(dato, "dd-mm-yyyy") & " 00:00"
    slutdag = Format(dato, "dd-mm-yyyy") & " 23:59"
   
    Set myCal = Namespace.GetDefaultFolder(olFolderCalendar).Items
   
    Set aftale = myCal.Find("[Start] >= """ & _
        startdag & """ and [Start] <= """ & slutdag & """")
       
    While TypeName(aftale) <> "Nothing"
        emne = aftale.Subject
        If LCase(emne) = LCase(søgEfter) Then
            aftale.Delete
            sletkalender = True
            Exit Function
        End If
       
        Set aftale = myCal.FindNext
    Wend

    sletkalender = False
End Function

Rem ++++++++++++++++++++++++++++++++++++
Rem HØJREKLIK - Opret Outlook meddelelse
Rem ++++++++++++++++++++++++++++++++++++
Private Sub Worksheet_BeforeRightClick(ByVal Target As Range, Cancel As Boolean)
Dim ræk As Long
Rem Automatisk opdatering, hvis højreklik er i C1 - alle ikke opdaterede rækker opdateres i Outlook
    If Target.Column = 3 And Target.Row = 1 Then
        Cancel = True
        For ræk = 2 To 65000
            If Range("A" & ræk) = "" Then
                Exit Sub
            Else
                If IsDate(Range("A" & ræk)) = True And Range("C" & ræk) = "" Then
                    opdaterIOutlook Range("A" & ræk), Range("B" & ræk)
                    Range("C" & ræk) = Now
                End If
            End If
        Next ræk
    Else
        If Target.Column = 3 And Target = "" Then
            Cancel = True
            ræk = Target.Row
            If IsDate(Range("A" & ræk)) = True Then
                opdaterIOutlook Range("A" & ræk), Range("B" & ræk)
                Target = Now
            End If
        End If
    End If
End Sub
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