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

VBA läuft beim öffnen 2x ab

VBA läuft beim öffnen 2x ab
Hartmut
Liebs Fourm
Ich probiere und probiere und ich schaffs einfach nicht..
Die Macros laufen eigentlich perfekt. Nur beim Öffnen läuft das VBA 2x ab.
Ich finde den fehler einfach nicht..
Kann mir jemand helfen..?

Die Datei https://www.herber.de/bbs/user/80874.xls wurde aus Datenschutzgründen gelöscht


Danke & lieber Grüsse
Hartmut

9
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Benutzer
Anzeige
AW: VBA läuft beim öffnen 2x ab
12.07.2012 12:57:10
Peter
Hallo Hartmut,
ich sehe nicht, dass hier ein Makro 2mal abläuft.
Ich habe lediglich etwas aufgeräumt und Option Explicit hinzugefügt.
Gruß Peter
https://www.herber.de/bbs/user/80946.xls
AW: VBA läuft beim öffnen 2x ab
12.07.2012 13:14:21
ChrisL
Hi Hartmut
Die Variable BoOpen wird nirgends auf True gesetzt, somit wird das Workbooks_Open Ereignis gar nie angesprochen (könnte man sich sparen). Die ganze Variable ergibt so keinen Sinn.
cu
Chris
AW: VBA läuft beim öffnen 2x ab
12.07.2012 13:51:28
Hartmut
Hallo Chris
Besten Dank für Deine Rückmeldung.
Ich denke Du bist auf dem richtigen Weg,
Kannst Du mir dabei helfen?
Ich check das leider noch nicht. Ich bin noch in der VBA "Fahrschule"
Herzlichen Dank 6 lieber Gruss
Hartmut
Anzeige
AW: VBA läuft beim öffnen 2x ab
12.07.2012 14:14:03
ChrisL
Hi Hartmut
Was wolltest du denn mit der Variable?
Braucht es das Open Ereignis?
Vermutlich kannst du das ganze Open Ereignis löschen. Im Calculate nimmst du..
If BoOpen = False Then
End If
.. raus.
Das Standardmodul mit der Public Variable kannst auch löschen.
Dein Ursprungsproblem (2-mal Ausführen) kann ich auch nicht nachvollziehen.
cu
Chris
AW: VBA läuft beim öffnen 2x ab
12.07.2012 14:27:31
Hartmut
Hallo Chris
Ich möchte dass das Macro Calculate ein E-Mail verschickt, wenn eine bestimmte Person einen betimmten Betrag erreicht.
Dann möchte ich noch, dass das Macro ein E-Mail verschickt, wenn eine bestimmte Person das bereits ausgefüllte Formular öffnet.
Deshalb die zwei VBA's
Grus Hartmut
Anzeige
AW: VBA läuft beim öffnen 2x ab
12.07.2012 14:58:51
ChrisL
Hallo Hartmut
Vielleicht so....
' Standardmodul
Public BoOpen As Boolean
Sub createmymail()
Dim Nachricht As Object, OutApp As Object
Dim AWS As String
If Sheets("Werberabatt Berechnung").Range("L38").Value = 1 Then
MsgBox "Hallo Bernie! Der Nachlass ist über 15% und CHF 125'000. Ein Antrag per Mail ist fällig!!"
Set OutApp = CreateObject("Outlook.Application")
AWS = ThisWorkbook.FullName
Set Nachricht = OutApp.CreateItem(0)
With Nachricht
.To = "xxxxxxx.xx"
.Subject = "Antrag Werberabatt " & " - " & Date & " - " & Time
.attachments.Add AWS
.Body = "Lieber Hartmut." & vbCrLf & "Hurra es ist soweit!" & vbCrLf & "Für diesen Kunden darfst Du einen Antrag erstellen." & vbCrLf & "Danke & lieber Gruss" & vbCrLf & "Bernie "
.Display
End With
BoOpen = True
End If
End Sub
' DieseArbeitsmappe
Private Sub Workbook_Open()
If Environ("Username") = "lpw" Then Call createmymail
If Sheets("Werberabatt Berechnung").Range("L38").Value = 1 Then BoOpen = True
End Sub

' Tabelle Werberabatt
Private Sub Worksheet_Calculate()
If BoOpen = False Then createmymail
End Sub

cu
Chris
Anzeige
AW: VBA läuft beim öffnen 2x ab
12.07.2012 15:46:26
Hartmut
Hallo Chris
Herzlichen Dank, das funktioniert schon richtig gut! Es hat noch einen kleinen Schönheitsfehler:
Wenn ich beim Calculate eine Zahl eingebe dann löst es ein Mail aus. Das ist korrekt! Wenn ich die Zahl dann ändere, z.B. um eins nach oben dann passiert nichts. Geht das, dass dann immer bei einer Korrektur das E-Mail ausgelöst wird?
Herzlichen Dank & Gruss
Hartmut
https://www.herber.de/bbs/user/80948.xls
AW: VBA läuft beim öffnen 2x ab
12.07.2012 15:59:25
ChrisL
Hallo Hartmut
Naja so wird das Mail (bei Erfüllung der Bedingung) bei jeder Änderung (Calculate) wieder und wieder ausgeführt. Aber wenn es sein muss, so...
Public BoOpen As Boolean
Sub createmymail()
Dim Nachricht As Object, OutApp As Object
Dim AWS As String
If Sheets("Werberabatt Berechnung").Range("L38").Value = 1 Then
MsgBox "Hallo Bernie! Der Nachlass ist über 15% und CHF 125'000. Ein Antrag per Mail ist fällig!!"
Set OutApp = CreateObject("Outlook.Application")
AWS = ThisWorkbook.FullName
Set Nachricht = OutApp.CreateItem(0)
With Nachricht
.To = "xxxxxxx.xx"
.Subject = "Antrag Werberabatt " & " - " & Date & " - " & Time
.attachments.Add AWS
.Body = "Lieber Hartmut." & vbCrLf & "Hurra es ist soweit!" & vbCrLf & "Für diesen Kunden darfst Du einen Antrag erstellen." & vbCrLf & "Danke & lieber Gruss" & vbCrLf & "Bernie "
.Display
End With
End If
End Sub
Private Sub Worksheet_Calculate()
If BoOpen = False Then
Call createmymail
Else
BoOpen = False
End If
End Sub
Private Sub Workbook_Open()
If Environ("Username") = "lpw" Then Call createmymail
BoOpen = True
End Sub

cu
Chris
Anzeige
AW: VBA läuft beim öffnen 2x ab
12.07.2012 16:08:03
Hartmut
Hallo Chris
Herzlichen Dank, jetzt läuft es wie Butter!!
Lieber Gruss und noch mal vielen Dank für Deine Hilfe!
Hartmut

312 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige