Displayalerts für zu öffnende Mappe unterdrücken

Hallo Wissende,

auf Arbeit habe ich Excel97 und dort eine kleine VBA-Routine geschrieben. Diese soll Zahlen ermitteln und in ein anderes Workbook reinschreiben. Das Problem ist, dass in diesem anderen Workbook auch ein Makro läuft. Die Open-Methode führt dazu, dass ich die Makrowarnung bekomme und das will ich nicht.

In der Hauptmappe, die die relevanten Zahlen errechnet und die Zieldatei aufruft, ist natürlich Application.Dispayalerts = False vorgemerkt. Das bezieht sich aber nur auf das aktive Workbook, nicht auf das zu öffnende.

Ich bin noch nicht besonders fit in VBA, aber mit meinem Halbwissen schwebt mir folgende Lösung vor:

  • den Namen der zu öffnenden Datei irgendwie erstmal deklarieren
  • damit dann Application.DisplayAlerts = False machen
  • und dann erst öffnen, um den Makrodialog zu umgehen.

Ist das möglich ? Wenn ja, wie würde der erste Befehl aussehen ?

Mir fällt außerdem noch eine andere Frage ein:

Die Basis-Arbeitsmappe ist freigegeben. Irgendwo in Excel werden ja die Namen der aktiven Nutzer verwaltet (und z.B. angezeigt, wenn man in die Arbeitsmappenfreigabe geht). Wie kann man diesen Namen auslesen und in VBA weiterverwenden ? Konkret möchte ich, dass nicht nur die Daten in das Ziel-Workbook geschrieben werden, sondern auch mit einem „Stempel“ versehen und mitgeben. Dieser „Stempel“ soll so aussehen, dass zusätzlich zu den Daten auch noch die aktuelle Zeit und der Name bzw. das Kürzel des schreibenden Users mitgeliefert werden.

Vielen Dank im voraus

Hans-Jürgen

Moin Hans-Jürgen,

…Das Problem ist, dass in diesem
anderen Workbook auch ein Makro läuft.

Meines Wissens kann immer nur ein Makro zur Zeit ausgeführt werden.
Tipp:
Benutze eine weitere Excel-Datei, sozusagen „Steuerungsdatei“ in der Du mit einem Makro in Deinen beiden jetzigen Excel-Dateien die gewünschten Abläufe ausführen lässt.

Viele Grüße
Frank

auf Arbeit habe ich Excel97 und dort eine kleine VBA-Routine
geschrieben. Diese soll Zahlen ermitteln und in ein anderes
Workbook reinschreiben. Das Problem ist, dass in diesem
anderen Workbook auch ein Makro läuft. Die Open-Methode führt
dazu, dass ich die Makrowarnung bekomme und das will ich
nicht.

Irgendwo in Excel
werden ja die Namen der aktiven Nutzer verwaltet …
Wie
kann man diesen Namen auslesen und in VBA weiterverwenden ?

Hallo Hans-Jürgen,

Sub tt()
Application.EnableEvents = False
Workbooks.Open „k:\MeineMappe.xls“
Application.EnableEvents = True
MsgBox Application.UserName
End Sub

Gruß
Reinhard

Super ! Vielen Dank und Stern ! (owT)
.

Hi,

auch Dir vielen Dank und Stern !

In der Zielmappe ist ein VBA-Code enthalten (daher die Warnung), aber der wird gerade nicht ausgeführt.

Ich probiere es Montag mal mit der Lösung von Reinhard.

Gruss

Hans-Jürgen