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

Übergabe Variablen in freigegebener Arbeitsmappe

Übergabe Variablen in freigegebener Arbeitsmappe
07.02.2016 14:01:51
Fischreiher
Hallo zusammen,
ich habe auf einem Netzlaufwerk eine freigegebene Arbeitsmappe abgelegt, die von mehreren Benutzern zur selben Zeit bearbeitet werden kann.
In dieser Mappe sind Makros enthalten.
Kennt jemand einen Weg, wie ich die Variablen definieren muß, damit deren Werte nutzerübergreifend verwendet werden können ?
Beispiel:
Nutzer A und B haben gleichzeitig die freigegebene Arbeitsmappe geöffnet.
Nutzer A startet ein Makro. Darin wird der Variable X ein Wert zugewiesen.
Nutzer B startet ein Makro und möchte darin den Wert der Variable X (von Nutzer A) auslesen.
Selbst bei einer Deklaration als Public wird die Variable X für beide Nutzer stets getrennt verwaltet.
Bisher habe ich mir damit geholfen, den Variablenwert in einer Zelle in einem ausgeblendeten Tabellenblatt zu „parken“ und von dort auszulesen. Wenn der Makroablauf für beide Nutzer an der richtigen Stelle ein Speichern der Mappe durchführt, funktioniert diese zweistufige Variablenübergabe.
Meine Frage ist nur, ob es hier nicht einen eleganteren direkten Weg ohne Umweg über ein Tabellenblatt gibt.
Ich freue mich über eine Idee.
Vielen Dank !
Gruß,
Fischreiher

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

Betreff
Datum
Anwender
Anzeige
AW: Übergabe Variablen in freigegebener Arbeitsmappe
07.02.2016 14:54:59
Oberschlumpf
Hi ?
Ich glaube nicht, dass es möglich ist, den Code über public oder sonstige Variablen zu steuern.
Denn Variablen, auch öffentliche, behalten ihre Gültigkeit nur in ein und derselben Excel-Instanz.
Das bedeutet...
...du startest das Programm Excel
- über Datei/Öffnen und/oder per vba-Code werden 2 unterschiedliche Excel-Dateien geöffnet
In diesem Fall kannst du mit globalen Variablen den Code in beiden Dateien steuern.
Wenn aber...
...Kollege A die Datei XY.xlsm in der 1. Etage auf seinem PC öffnet
...Kollege B die Datei XY.xlsm in der 5. Etage auf seinem PC öffnet
sind beide Excel-Instanzen vollständig unabhängig voneinander (es handelt sich ja auch um 2 unterschiedliche PC), und somit "kennen" sich die gleichen Variablen in ein und derselben Datei nicht.
Somit geht es wohl nicht anders, als du es bisher versucht hast....mit Hilfszellen in einer nur dafür verwendeten Tabelle.
Da ich aber eben nicht zu 100% sicher bin, ob ich Recht habe, lass ich diesen Thread noch offen.
Hilfts denn?
Ciao
Thorsten

Anzeige
AW: Übergabe Variablen in freigegebener Arbeitsmappe
07.02.2016 18:15:16
Luschi
Hallo Fischreiher,
schau mal hier: https://msdn.microsoft.com/de-de/library/office/ff834990.aspx
DSa wird beschrieben, wie man 'Workbook.CustomDocumentProperties' anlegt/benutzt.
Gruß von Luschi
aus klein-Paris
PS: siehe auch
http://www.cpearson.com/excel/docprop.aspx

ahh...vllt wieder was gelernt
07.02.2016 18:51:06
Oberschlumpf
Hi ?
Danke für den Tipp mit den CustomProperties.
Bei mir wird zwar nach Codedurchlauf nix in der Tabelle gezeigt, aber ich habe hier
http://www.office-loesung.de/ftopic625941_0_0_asc.php
gelesen, dass bei Bedarf die CustomProperties per VBA erst gesetzt werden müssten, und dann auch per VBA ausgelesen werden könnten.
Wenn ich das so richtig verstanden habe, wäre das ja genau das, was der Fragende sucht.
Er setzt eine Eigenschaft, wenn Kollege A den entsprechenden Code auslöst. Und wenn Kollege B einen Code auslöst, wird etwas geschehen oder auch nicht, abhängig davon wie die vom Fragenden zuvor gesetzte Eigenschaft verarbeitet wird.
Ciao
Thorsten

Anzeige
Übergabe Variablen in freigegebener Arbeitsmappe
08.02.2016 18:21:52
Fischreiher
Hallo Luschi, hallo Thorsten,
Workbook.CustomDocumentProperties und auch CustomProperties kannte ich bisher nicht und habe das gleich ausprobiert. Solange die Datei nur von einem Nutzer geöffnet ist, kann ich auf diesem Wege Variablen speichern, wenngleich der Umgang mit den Variablen ein wenig umständlich ist. Vor einem Ändern muß ich sie löschen und neu setzen und CustomProperties lassen sich offenbar nur über einen Index aber nicht über den Variablennamen ansprechen.
Öffnen die Nutzer A und B die freigegebene Mappe im Netzwerk, funktioniert die Variablen-Übergabe zwischen ihnen leider nicht wie erhofft. Beide können nur ihre selbst erstellten Variablen auslesen. Auch ein Speichern durch beide Nutzer ändert daran nichts. Erst bei Verlassen und Neuöffnen der Mappe sind die zuletzt gespeicherten Werte abrufbar, die anderen gegen verloren. Somit erfolgt eine korrekte Übergabe von Werten eher rein zufällig.
Da aber, wie Thorsten zutreffend beschrieben hat, zwei Excel-Instanzen auf unterschiedlichen PC’s laufen, scheint eine fortlaufende Kommunikation zwischen diesen Instanzen offenbar nicht zu bestehen, auch wenn eine „Freigabe“ manchmal so etwas vermuten läßt.
Insofern scheint das Zwischenspeichern in versteckten Hilfszellen offenbar der einzige zuverlässige Übertragungsweg zwischen den Nutzern zu sein.
Euch beiden für die wertvollen Anregungen dennoch besten Dank !
CustomProperties werde ich sicherlich in der Zukunft an anderer Stelle verwenden können.
Gruß,
Fischreiher
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige