Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1068to1072
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
Variable in anderer Arbeitsmappe nutzen
14.04.2009 12:34:18
Florian
Hallo zusammen,
ich habe mal wieder ein Problem weches sich mit google und Herbers ExcelForum nicht lösen lässt - noch nicht ;-)
Ich habe eine Arbeitsmappe Start mit einigen CommandButton's erstellt .
Beim Öffnen der Arbeitsmappe Start wird unter anderem der Pfad der Datei in die Variable ArbeitsPfad abgelegt.
Beim Klick auf einen der Button's wird dessen Bezeichnung durch .xls ergänzt in die Variable WKB abgelegt.
Durch Workbooks.Open Filename:= WKB wird die entsprechende Datei dann geöffnet z.B. "2.xls".
In der Arbeitsmappe 2.xls sind wiederum einige Makros und Button's angelegt und wenn ich hier auf einen Button klicke sollen die Variablen (z.B. ArbeitsPfad) der Start.xls aber auch in der 2.xls zur Verfügung stehen.
Ich habe die betreffenden Variablen in einem Modul der Start.xls als Public angelegt aber in der Arbeitsmappe sind die Variablen leer bzw. nicht definiert...
Was mache ich falsch?
Vielen Dank und Grüße
Flo

5
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
Kann mir denn keiner Helfen?
14.04.2009 13:12:06
Florian
Weiß niemand, wie ich eine Variable in einem zweiten Excel-Dokument nutzen kann?
Das Dokument in dem die Variable erstellt wird bleibt die ganze Zeit geöffnet und alle Dokumente befinden sich in einer Excel-Anwendung...
AW: Kann mir denn keiner Helfen?
14.04.2009 13:27:09
Nepumuk
Hallo Flo,
Die einfache Methode: Du legst eine Funktion in der Start-Mappe an welche den Pfad aus deiner Variablen liefert und rufst diese Funktion per Application.Run aus der anderen Mappe auf.
Die komplizierte Methode: Guckst du hier http://www.office-loesung.de/ftopic251939_0_0_asc.php
Gruß
Nepumuk
Anzeige
AW: Kann mir denn keiner Helfen?
14.04.2009 13:50:25
Florian
Erst mal vielen Dank.
Ich wäre für die einfache Lösung aber leider ergibt sich folgendes Problem.
Die Variable Arbeitspfad wird wie folgt geschrieben:

Sub Workbook_Open()
ArbeitsPfad = ActiveWorkbook.Path & "\"   'Pfad in "ArbeitsPfad" einlesen
Tool = ActiveWorkbook.Name                     'Name des Stratprogramms in "Tool" einlesen
End Sub


Wenn ich nun eine Funktion erstelle die den gleichen Befehl ausführt wird aber doch nicht der Pfad der Start.xls in Arbeitspfad geschrieben sondern der Pfad der aktuellen Anwendung - oder liege ich da falsch?
Oder reicht es wenn ich kurz die Start.xls aktiviere, die Variablen schreibe und dann zurück zur aktuellen XLS wechsel?

Anzeige
AW: Kann mir denn keiner Helfen?
14.04.2009 14:51:30
Nepumuk
Hallo Flo,
die Funktion führt keine Anweisungen aus, sondern übergibt den Wert der Variablen. Beispiel:
In deiner Startmappe:
Public Function fncArbeitsPfad() As String
    fncArbeitsPfad = ArbeitsPfad
End Function

In der anderen Mappe rufst du den Wert so ab:
Public Sub getArbeitsPfad()
    MsgBox Application.Run("Startmappe.xls!fncArbeitsPfad")
End Sub

Ich hab jetzt mal zum testen den geholten Wert in einer Msgbox ausgeben lassen. Das musst du natürlich anpassen. Was mir nicht ganz klar ist, wozu übergibst du schreibgeschützte Eigenschaften der Mappe an Variablen? Die stehen dir doch überall zur Verfügung. Einen Geschwindigkeitsvorteil kann ich darin auch nicht erkennen.
Gruß
Nepumuk
Anzeige
AW: Variable in anderer Arbeitsmappe nutzen
14.04.2009 14:38:46
Daniel
Hi
das würde ich einfach so lösen:
- beim Öffnen der Datei per Makro schreibst du die Werte in bestimmte Zellen.
- diese Zellen kannst du dann auslesen und im Makro der anderen Datei weiterverwenden.
Gruß, Daniel

299 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige