Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1292to1296
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

Eigene Funktion beim Starten ausführen

Eigene Funktion beim Starten ausführen
10.01.2013 07:39:10
Ralf
Guten Morgen alle zusammen,
ich habe mal wieder ein Problem mit meiner selbst erstellten Funktion. In einem Modul liegt _
meine Funktion

Public Sub MaterialBerechnen(). Nennen wir die Mappe mal Ausgangsmappe.xlsm
Diese wird aus einer Zelle mit =MaterialBerechnen("A1") angesprochen.
Gehen wir mal davon aus dass in A1 10 steht.
Das funktioniert auch ganz gut.
In der Funktion MaterialBerechnen() wird auf eine andere Arbeitsmappe(Test.xlsx) zugegriffen.
Jetzt das Problem:
Ist diese Test.xlsx nicht geöffnet kann nichts berechnet werden und es wird #Wert angezeigt.
Wird dann die Test.xlsx geöffnet und ich klicke F9 oder ich schließe die Ausgangsmappe.xlsm und  _
_
öffne sie wieder, werden die Zellen trotzdem nicht neu berechnet.
Erst wenn ich wie im Beispiel oben die Zelle A1 anklicke und dort die 10 wieder neu eingebe,  _
wird die berechnung wieder durchgeführt. Bei einer zelle wäre es ja nicht so schlimm aber ich  _
habe ca. 5000 Zellen mit Werte.
Unter Worksheet_Change am Ende Application.CalculateFull hat auch nichts gebracht.
Dann habe ich eine weitere Funktion geschrieben die beim Öffnen der Ausgangsmappe.xlsm ausgefü  _
_
hrt werden soll und alle Zellen nochmal neu schreibt.
Aber auch das hilft mir nicht wirklich weiter.

Public Sub Schreibe_Alle_Nochmal()
Dim TMP, i, a, letzte
'Letzte benutze Zelle in der Spalte A
letzte = Sheets("Liste").Cells(Rows.Count, 1).End(xlUp).Row
Application.ScreenUpdating = False
If letzte 

Funktioniert aber auch nicht...
Habt ihr noch Rat?
Gruß
Ralf

4
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Eigene Funktion beim Starten ausführen
10.01.2013 10:03:18
Hajo_Zi
Hallo Ralf,
das ist keine Funktion sondern ein Makro. Aus dem Code zieht man nicht warum das Makro beim öffnen ausgeführt wird? Prüfe beim öffnen ob Datei auf, ansonsten öffnen.

AW: Eigene Funktion beim Starten ausführen
10.01.2013 10:36:45
Ralf
Hallo Hajo,
ich habe vergessen zu schreiben dass natürlich vorher geprüft wird ob die Datei Test.xlsx offen ist.
Die ist schon auf und sobald ich in der Zelle A1 den Wert nochmal neu eingebe wird die Funktion MaterialBerechnen ausgeführt.
Aber eben nicht automatisch beim öffnen?
Gruß Ralf

Anzeige
AW: Eigene Funktion beim Starten ausführen
10.01.2013 10:41:57
Hajo_Zi
Hallo Ralf,
ich hatte schon in meinem ersten Beitrag geschrieben.
 Aus dem Code zieht man nicht warum das Makro beim öffnen ausgeführt wird.

Du hattest ja geschrieben sie wird ausgeführt.
Jetzt schreibst Du
 sobald ich in der Zelle A1 den Wert nochmal neu eingebe wird die Funktion MaterialBerechnen ausgeführt. 

Dun möchtest uns also nicht mitteilen wodurch und ich schaue4 nicht auf Deinen Rechner, ich bin dann also raus.
Gruß Hajo

Anzeige
AW: Eigene Funktion beim Starten ausführen
10.01.2013 15:10:24
Ralf
Hallo Hajo,
entschuldige bitte aber ich habe das wohl nicht ganz verstanden was du gemeint hast.
Ist das der richtige Quellcode den du meinst?
Hab den Code zum Schluss etwas gekürzt.
Viele Grüße aus Ingolstadt
Ralf
Private Sub Workbook_Activate()
Dim TMP
TMP = MAPPE_OFFEN()
if MAPPE_OFFEN = true then
Call Schreibe_Alle_Nochmal
else
end if
End Sub

Function MAPPE_OFFEN()
MAPPE_OFFEN = False
Dim wkb As Object
On Error Resume Next
For Each wkb In Workbooks
If wkb.Name = "Test.xlsx" Then
MAPPE_OFFEN = True
End If
Next
On Error GoTo 0
End Function
Anzeige

305 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige