Live-Forum - Die aktuellen Beiträge
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender

Forumthread: Macro nur 1 mal die Woche ausführen

Macro nur 1 mal die Woche ausführen
29.01.2015 09:48:48
Vulferin
Hallo Zusammen,
wie kann ich ein Macro nur 1 mal die Woche ausführen lassen ?
Ich hab das hier gefunden
  • 
    Private Sub Workbook_Open()
    If ISOWeek(Date) 
    Function ISOWeek(dat As Date) As Integer
    Dim dbl As Double
    With WorksheetFunction
    ISOWeek = Fix((dat - .Weekday(dat, 2) - _
    DateSerial(Year(dat + 4 - _
    .Weekday(dat, 2)), 1, -10)) / 7)
    End With
    End Function

  • Geht das auch ohne abfrage in A1 ?

    Anzeige

    10
    Beiträge zum Forumthread
    Beiträge zu diesem Forumthread

    Betreff
    Datum
    Anwender
    Anzeige
    AW: Macro nur 1 mal die Woche ausführen
    29.01.2015 10:23:36
    Hajo_Zi
    benutze OnTime

    AW: Macro nur 1 mal die Woche ausführen
    29.01.2015 10:27:55
    Vulferin
    Kannst du mir da ein Beispiel nennen ?
    Da ich VBa wenn ich den Code sehe verstehen kann aber nicht selbst Bilden kann :(

    AW: Macro nur 1 mal die Woche ausführen
    29.01.2015 11:05:00
    Hajo_Zi
    ich war davon ausgegangen das Du Dich mit Google auskennst, jedenfalls laut ersten Beitrag.
    Option Explicit
    Public Const DaZeit As Date = 7                     ' Zeitabstand
    Public DaEt As Date                                 ' nächste Start
    ' In Tabelle2 im Bereich C7 bis C12 stehen ie Ausgangswerte stehen
    ' In Tabelle1 im Berech A6 bis J11 stehen die Werte die blinken sollen
    Sub Start()
    DaEt = Now + DaZeit                             ' neue Startzeit setzen
    Application.OnTime DaEt, "Prozedur"          ' Prozedur zur Startzeit starten
    End Sub
    Sub Prozedur()
    ' Deine Prozedur
    Start
    End Sub
    
    Gruß Hajo

    Anzeige
    AW: Macro nur 1 mal die Woche ausführen
    29.01.2015 10:46:53
    Daniel
    Hi
    nein.
    Irgendwo musst du dir ja merken, wann der code zum letzten mal gelaufen ist, um beim Start zu überprüfen, ob seit dem letzten Lauf eine Woche vorbei ist oder nicht.
    Wenn dich stört, dass das diese Information sichtbar in einem Tabellenblatt steht, hast du noch folgende Möglichkeiten, diesen Namen abzulegen:
    a) in einem Namen
    b) als Text in einer BuiltInDocumentproperty
    c) in einer benutzerdefinierten Documentproperty
    aber ich finde, die Zelle als Speicherort ist das Einfachste.
    zwei kleine Tipps noch am Rande:
    - ab Excel 2010 beherrst die Excelfunktion "Kalenderwoche" die deutschen Regelen zur Bildung der Kalerndrewoche, dh eine UDF ist hierfür nicht mehr erforderlich (der zweite Parameter ist 21)
    - Lege in der Zelle (oder sonstwo) nicht nur die KW, sondern auch das Jahr dazu mit ab, dh heute den Wert: 201505
    Dann funtkioniert dein Code auch über den Jahreswechsel.
    Gruß Daniel

    Anzeige
    AW: Macro nur 1 mal die Woche ausführen
    29.01.2015 10:50:24
    Vulferin
    Ich ebkomme das leider aber so nicht ans laufen
    ;(
    Ich hab die Funktion auch mit in Arbeitbaltt und Privat gepackt

    AW: Macro nur 1 mal die Woche ausführen
    29.01.2015 10:54:51
    Vulferin
    Ich ebkomme das leider aber so nicht ans laufen
    ;(
    Ich hab die Funktion auch mit in Arbeitbaltt und Privat gepackt

    AW: Macro nur 1 mal die Woche ausführen
    29.01.2015 11:12:26
    Vulferin
    Ok. das ganze ist doch sehr schwierig
    ICh hab kein Problem wenn ich ZZ2 nehme. das ist weit aus meinen Bereich raus.
    Aber ich bekomme es nicht ans laufen damit :(

    Anzeige
    AW: Macro nur 1 mal die Woche ausführen
    29.01.2015 11:20:02
    Vulferin
    Geht habs
    COOOL

    AW: Macro nur 1 mal die Woche ausführen
    29.01.2015 11:20:13
    ede
    Hallo,
    dann stell eine Beispielmappe ab, sonst kan dir keiner helfen, den Inhalt kannst du ja entfernen!
    ede

    AW: Macro nur 1 mal die Woche ausführen
    29.01.2015 11:26:35
    Daniel
    Hi
    was genau willst du mir sagen?
    du redest sehr kryptisch
    probiere mal folgenden Code im Modul "DieseArbeitsmappe"
    die Kalenderwoche des Letzen Laufes wird in einem Namen gespeichert und ist somit im Blatt nicht sichtbar.
    Private Sub Workbook_Open()
    Dim AktKW As String
    Dim LeKW As String
    AktKW = "=" & Year(Date) & Format(WorksheetFunction.WeekNum(Date, 21), "00")
    On Error Resume Next
    LeKW = Me.Names("LetzterMakroLauf").Value
    On Error GoTo 0
    If LeKW = "" Or LeKW 
    Gruß Daniel
    Anzeige
    ;

    Forumthreads zu verwandten Themen

    Anzeige
    Anzeige
    Anzeige
    Anzeige
    Entdecke relevante Threads

    Schau dir verwandte Threads basierend auf dem aktuellen Thema an

    Alle relevanten Threads mit Inhaltsvorschau entdecken
    Anzeige

    Beliebteste Forumthreads (12 Monate)

    Anzeige
    Anzeige
    Entdecke mehr
    Finde genau, was du suchst

    Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

    Suche nach den besten Antworten
    Unsere beliebtesten Threads

    Entdecke unsere meistgeklickten Beiträge in der Google Suche

    Top 100 Threads jetzt ansehen
    Anzeige