Live-Forum - Die aktuellen Beiträge
Datum
Titel
28.03.2024 21:12:36
28.03.2024 18:31:49
Anzeige
Archiv - Navigation
1476to1480
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Makro beim öffnen ausführen

Makro beim öffnen ausführen
02.03.2016 09:43:11
Ro
Hallo Ihr Lieben,
habe wieder mal ein Problem.
Und zwar geht es darum, dass ein Makro sofort nach dem öffnen der Datei ausgeführt werden soll.
Um folgendes Makro geht es (steht bisher in Modul 1):
Sub ListeErstellen(ByVal Zelle As Range)
Dim wksDst As Worksheet
Dim lrow As Long
If Zelle.Column 7 And Zelle.Row > 17 Then
If IsDate(Zelle.Value) Then
If Date - Zelle.Value > 300 Then
Set wksDst = ActiveWorkbook.Worksheets("Monitor Nachschulungen")
lrow = wksDst.Cells(Rows.Count, 3).End(xlUp).Row + 1
wksDst.Cells(lrow, 3) = Worksheets("Schulungskalender").Cells(Zelle.Row, 2)
wksDst.Cells(lrow, 2) = Worksheets("Schulungskalender").Cells(7, Zelle.Column)
wksDst.Cells(lrow, 4) = Worksheets("Schulungskalender").Cells(5, Zelle.Column)
End If
End If
End If
End Sub Bisher wird dieses durch folgenden Code aufgerufen (steht bisher im Reiter Schulungskalender):
Private Sub Worksheet_Change(ByVal Target As Range)
Call ListeErstellen(Target)
End Sub
Excel überträgt die Daten bei Ablauf des Datums bisher leider nicht automatisch. Deswegen _ dachte ich, dass man es mit einem "

Private Sub Workbook_Open" im Register DieseArbeitsmappe hinbekommt, aber irgendwie bekomme ich  _
das nicht hin...
Hat irgendjemand von euch eine Idee wie das zu lösen ist?
Betse Grüße,
ROXI

5
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Makro beim öffnen ausführen
02.03.2016 09:49:52
Steve
Hallo Roxi,
grundsätzlich ist die Workbook_Open-Routine richtig. Dazu musst du, um dein Makro 'ListeErstellen' starten zu können, ihm eine Zelle mit übergeben wie in deinem Change-Ereignis. Jedoch weist nur du welche dabei gemeint ist.
Private Sub Workbook_Open()
Dim DeineZelle As Range
Set DeineZelle = ?
Call ListeErstellen(DeineZelle)
End Sub

AW: Makro beim öffnen ausführen
02.03.2016 09:53:28
Steve
Achja, wenn das Makro in einem Tabellenblatt liegt, kann das so übrigens nicht funktionieren. Es muss entweder in einem Modul liegen oder du schreibst folgendes:
Call Sheets("Schulungskalender").ListeErstellen(DeineZelle)
lg Steve

Anzeige
AW: Makro beim öffnen ausführen
02.03.2016 10:08:46
Ro
Vielen Dank für eure super schnelle Hilfe!!!!
Jetzt muss ich aber trotzdem noch kurz nachhaken weil ich es nicht ganz verstehe.
Muss ich eine bestimmte Zelle angeben? ich will ja eigentlich einen ganzen Bereich überwacht haben (Alle Felder in einer bestimmten Range...)
Geht das dann nicht oder versteh ich etwas falsch?
Liebe Grüße ROXI

AW: Makro beim öffnen ausführen
02.03.2016 10:36:42
Steve
Hallo Roxi,
ja das musst du, weil dein Makro "ListeErstellen()" immer nur für eine Zelle funktioniert. Was _ du aber machen kannst wäre dein Makro für jede Zelle deines überwachten Bereiches aufrufen:

Private Sub Workbook_Open()
Dim Bereich As Range
Set Bereich = Sheets("Tabelle1").Range("A1:X50")
For Each Zelle In Bereich
Call ListeErstellen(Zelle)
Next Zelle
End Sub
Selbstverständlich musst du den Bereich für dich anpassen. Beachte dabei - je größer du deinen Bereich einstellst, desto länger kann unter Umständen das Öffnen der Mappe dauern.
lg Steve

Anzeige
AW: Makro beim öffnen ausführen
02.03.2016 09:50:20
Michael
Hallo,
den Makro mittels eines 'workbook.open'-event zu starten, stimmt. Versuche doch einmal mit alt-f11 und Doppel-Klick auf das Workbook-Objekt in die Maske zu gehen. Dann mit den Drop-downs oben rechts per Mausklick das 'workbook.open'-event anzulegen.
Als einzigen Befehl musst du dann eintippen: call meinMakroNamen
Mfg

212 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige