Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
528to532
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
528to532
528to532
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Funktion - Aufrufendes Workbook ermitteln

Funktion - Aufrufendes Workbook ermitteln
13.12.2004 10:29:13
Andreas
Hallo,
ich hoffe ihr könnt mir mit meinem Problem weiterhelfen.
Ausgangssituation:
Ich habe mir eine Interpolationsfunktion programmiert. Diese Funktion greift dabei auf zwei Arbeitsblätter des workbooks zu. Momentan erfolgt die festlegung des workbooks über ActiveWorkbook.
Problem:
Sind nun mehrere Workbooks offen und das aktive enthält nun nicht die 2 für die benötigten Arbeitsblätter entstehen Fehlermeldungen, da Excel z.B. beim Speichern immer alle offenen Arbeitsblätter neu berechnet. Automatisches Berechnen will ich nicht abschalten, da die Funktion anderen Nutzer zugänglich gemacht werden soll.
Frage:
Wie kann ich herausfinden aus welchem Workbook der Aufruf der Funktion erfolgte?
Ich habe es schon mit Application.Caller versucht, aber damit erhalte ich nur die Zelle oder maximal den Namen des Arbeitsblattes, aber nicht den Workbooknamen den ich brauche um die 2 für die Funktion benötigten Arbeitsblätter zuweisen zu können.
Vielen Dank
Andreas

7
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Funktion - Aufrufendes Workbook ermitteln
UweD
Hallo
das geht mit ThisWorkbook.
zum Testen kannst du mal versuchen:
Makro in eine Mappe und andere Mappe aktivieren.
ActiveSheet.Cells(1, 1) = ThisWorkbook.Name
Gruß UweD
AW: Funktion - Aufrufendes Workbook ermitteln
13.12.2004 10:58:07
Andreas
Hallo,
danke für die schnelle Antwort, leider löst das aber nicht mein Problem.
Wenn ich ThisWorkbook verwende, erhalte ich den Namen der AddIn Datei und nicht den des aufrufenden Workbooks. Ich wäre daher für andere Vorschläge oder Hinweise was ich an den Einstellungen ändern muss, damit ich über ThisWorkbook den Namen des aufrufenden Workbooks erhalten dankbar.
Gruß
Andreas
AW: Funktion - Aufrufendes Workbook ermitteln
UweD
Hi
wie wäre es hiermit?

Sub test()
Name1 = ActiveWorkbook.Name
' jetzt kannst du öffnen, aktivieren was du möchtest
' so erhältst du deine Infos bzw kommst zum Ursprung zurück
MsgBox "aufgerufen wurde ich aus " & Name1
Workbooks(Name1).Activate
End Sub

Anzeige
AW: Funktion - Aufrufendes Workbook ermitteln
13.12.2004 11:18:11
Andreas
Hi Uwe,
mit ActiveWorkbook habe ich es zur Zeit gelöst, aber damit funktioniert es ja gerade nicht so richtig, da es kein Makro ist das nur aus dem gerade Aktive Workbook heraus ausgeführt werden kann, sondern eine Funktion die jedesmal wenn Excel alles neu berechnet ausgeführt wird. Damit kann das aufrufende und aktive Workbook verschieden sein und sobald diese verschieden sind produziert meine Funktion Fehler.
Andreas
AW: Funktion - Aufrufendes Workbook ermitteln
13.12.2004 11:21:14
Gunar
Hallo ich habe ein ähnliches Problem und leider auch noch keine Lösung und die hier bisher vorgeschlagenen helfen mir leider auch nicht wirklich weiter.
MfG
Gunar
Anzeige
AW: Funktion - Aufrufendes Workbook ermitteln
Ingolf
Hallo Andreas,
wenn ich das richtig verstehe, dann holst du dir den benötigten Wert in deinem Funktionsmakro nach dem Muster "ActiveWorkbook.Worksheets(1).Range("A1")". Warum übergibst du diesen Wert nicht, wie bei Funktionen üblich, mit dem Funktionsaufruf? D.h., du schreibst die Startzeile deiner Funktion nach dem Muster "Private Function DeinFunktionsname(Wert1)", und in der Zelle, die das Ergebnis enthalten soll, rufst du die Funktion auf mit "=DeinFunktionsname(Worksheets(1)!A1)". Mit diesem relativen Bezug in der Ergebniszelle bist du dann auf jeden Fall in der richtigen Arbeitsmappe, unabhängig davon, ob diese gerade aktiv ist oder nicht.
Gruß Ingolf
Anzeige
AW: Funktion - Aufrufendes Workbook ermitteln
13.12.2004 13:04:49
Andreas
Hallo Ingolf,
das geht deshalb nicht weil der Datensatz in dem Interpoliert werden soll immer verschieden ist. D.h. beim Aufruf der Funktion gebe ich 4 Kenngrößen vor und den gesuchten Wert. Mit diesen Angaben geht sucht meine Funktion nun in dem Workbook auf einem bestimmten (über speziellen Namen bestimmten) Worksheet den für die Interpolation notwendigen Datensatz raus und führt anschließend die Interpolation aus, d.h ich kann das worksheet auf dem die Daten stehen nicht mitübergeben, sondern muss irgendwie herausfinden von welchem workbook der Aufruf der Funktion erfolgte.
Gruß
Andreas
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige