Live-Forum - Die aktuellen Beiträge
Datum
Titel
28.03.2024 21:12:36
28.03.2024 18:31:49
Anzeige
Archiv - Navigation
1468to1472
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

bezogen auf Makro deaktivieren

bezogen auf Makro deaktivieren
26.01.2016 20:37:26
Ulrich

Hallo Daniel, Werner, Oberschlumpf!
Sorry, ich war zwei Tage auf Achse. Aber ich bin wieder da.
Erst mal vorweg. Bei der Datei „Depot_Überwachung11“ geht es um die Überwachung von Aktien, 430 Stück an der Zahl.
Diese Aktien werden per externer Webabfrage in die Datei
geholt und bin somit direkt mit der Börse in Frankfurt verbunden. Soweit, so gut.
Da ich mich an den Zeitplan der Börse halten muss, bin ich wie folgt vorgegangen.
Ich habe im BIOS unter „Power Management“ die Startzeit für den
Rechner eigestellt, so, das der Rechner automatisch und völlig
selbstständig jeden Tag um 09:20 Uhr startet.
Mit diesem Systemstart ist eine Aufgabe verbunden die in der Aufgabenplanung erstellt wurde. Das heißt, unmittelbar nach dem Systemstart wird die Datei „Depot_Überwachung11“ ebenfalls gestartet.
Der Handel an der Börse beginnt.
In der Aufgabenplanung wurden weitere Aufgaben erstellt, die die Datei jede Stunde einmal schließt und wieder startet.
Das ganze läuft bis 19:59:02 Uhr.
Nun stehen die Tages-Schlusskurse an der Börse fest und die Daten (1720 Werte) werden in die Aktien-Historie übertragen.
Um 20:01:00 Uhr ist der Datentransfer beendet und die Datei „Depot_Überwachung11“ wird runter gefahren.
Der Handel ist beendet.
Jetzt kommt mein Problem.
In dieser Datei gibt es hunderte von Makros. Und man kann es nicht glauben zweie von diesen gottverdammten Scheißdingern verursachen dieses Problem. Warum das so ist, habe ich bisher nicht klären können oder könnt ihr bei den folgenden vier Makros einen Unterschied erkennen abgesehen von der Zeilennummer und dem Makronamen.
1) Sub dreiU_Holding()
Const Zeile As Long = 7
If Cells(Zeile, "G") = 0 Then
Exit Sub
End If
If Cells(Zeile, "F") > Cells(Zeile, "M") Then
Cells(Zeile, "M") = Cells(Zeile, "F")
End If
If Cells(Zeile, "F") Cells(Zeile, "N") = Cells(Zeile, "F")
End If
If Cells(Zeile, "G") > Cells(Zeile, "O") Then
Cells(Zeile, "O") = Cells(Zeile, "G")
End If
If Cells(Zeile, "G") Cells(Zeile, "P") = Cells(Zeile, "G")
End If
End Sub
2) Sub vier_SC()
Const Zeile As Long = 8
If Cells(Zeile, "G") = 0 Then
Exit Sub
End If
If Cells(Zeile, "F") > Cells(Zeile, "M") Then
Cells(Zeile, "M") = Cells(Zeile, "F")
End If
If Cells(Zeile, "F") Cells(Zeile, "N") = Cells(Zeile, "F")
End If
If Cells(Zeile, "G") > Cells(Zeile, "O") Then
Cells(Zeile, "O") = Cells(Zeile, "G")
End If
If Cells(Zeile, "G") Cells(Zeile, "P") = Cells(Zeile, "G")
End If
End Sub
3) Sub siebenC_SolarparkenAG()
Const Zeile As Long = 9
If Cells(Zeile, "G") = 0 Then
Exit Sub
End If
If Cells(Zeile, "F") > Cells(Zeile, "M") Then
Cells(Zeile, "M") = Cells(Zeile, "F")
End If
If Cells(Zeile, "F") Cells(Zeile, "N") = Cells(Zeile, "F")
End If
If Cells(Zeile, "G") > Cells(Zeile, "O") Then
Cells(Zeile, "O") = Cells(Zeile, "G")
End If
If Cells(Zeile, "G") Cells(Zeile, "P") = Cells(Zeile, "G")
End If
End Sub
4) Sub AAA_Aktiengesellschaft()
Const Zeile As Long = 10
If Cells(Zeile, "G") = 0 Then
Exit Sub
End If
If Cells(Zeile, "F") > Cells(Zeile, "M") Then
Cells(Zeile, "M") = Cells(Zeile, "F")
End If
If Cells(Zeile, "F") Cells(Zeile, "N") = Cells(Zeile, "F")
End If
If Cells(Zeile, "G") > Cells(Zeile, "O") Then
Cells(Zeile, "O") = Cells(Zeile, "G")
End If
If Cells(Zeile, "G") Cells(Zeile, "P") = Cells(Zeile, "G")
End If
End Sub
Also es ist so, wenn die Makros 1+2 Aktiv sind klappt der Datentransfer nicht. Es werden Werte übertragen, die es real nicht gibt. Setze ich aber die Makros 1+2 auf Kommentar funktioniert der Transfer einwandfrei. Die Makros 3+4 dagegen laufen problemlos. Warum das so ist, weiß der Geier. Also hab ich mir gesagt, schalte die Makros 1+2 während des Transfers doch einfach ab und danach wieder an.
Dafür sind die beiden nächsten Makros bestimmt.
Das Makro „Aktivieren“ funktioniert, das Makro „Deaktivieren“ leider nicht. Die fettgedruckte Zeile müsste anders aussehen, aber wie. Ich muß doch das Makro welches deaktiviert werden soll irgendwie namentlich ansprechen.
Public Sub Deaktivieren1()
Application.OnTime TimeValue("19:59:02"), "Deaktivieren1_1"
End Sub
Private Sub Deaktivieren1_1()
Call Deaktivieren
End Sub
Sub Deaktivieren()
Dim Depot_Überwachung11 As String
Application.EnableEvents = False
Application.WorkbooksOpen.ThisWorkbook _
(Depot_Überwachung11 & "nnn")
End Sub Sub nnn()
MsgBox "Test!"
End Sub
Public Sub Aktivieren1()
Application.OnTime TimeValue("20:01:00"), "Aktivieren1_1"
End Sub
Private Sub Aktivieren1_1()
Call Aktivieren
End Sub
Sub Aktivieren()
Dim Depot_Überwachung11 As String
Application.EnableEvents = True
Application.Run (Depot_Überwachung11 & "nnn")
End Sub Wenn die Deaktivierung tatsächlich funktioniert sollte die MsgBox „Test“ nicht erscheinen.
Schwer vorstellbar, denn der Lesekopf ließt von links nach rects und von oben nach unten. Und was dasteht ließt er, aus und ende.
Frage:
Kann man einen Call-Aufruf via Makro löschen und via Makro wieder einfügen?
So, erst einmal bis hier her.
mfg Ulrich

2
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: bezogen auf Makro deaktivieren
27.01.2016 09:29:33
Werner
Hallo Ulrich,
wie werden deine Problem-Makros denn gestartet - wohl irgendwie automatisch -Eventmakros?
Sollte doch gehen, die Problem-Makros in ein Modul zu packen und dann aus dem Makro das den Datentransfer macht heraus zu starten. Also Makro für den Datentransfer läuft durch und am Schluß Call Problem-Makro.
Gruß Werner

AW: bezogen auf Makro deaktivieren
27.01.2016 10:45:22
Ulrich
Hallo Werner!
Danke für Deine Antwort.
Ich glaube das Problem gefunden zu haben. Ich bin am Basteln.
Hab gedult und ich melde mich wieder.
mfg Ulrich
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige