Live-Forum - Die aktuellen Beiträge
Datum
Titel
28.03.2024 21:12:36
28.03.2024 18:31:49
Anzeige
Archiv - Navigation
1296to1300
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

application.run + Variable übergeben

application.run + Variable übergeben
01.02.2013 09:49:16
Franz
Guten Morgen Fachleute,
ich bin gespannt auf eine Lösung, ich probier schon so lang rum, aber ich kommt nicht drauf, drum bitte ich um Eure Hilfe:
- in der personl.xls steht ein Makro, das aus verschiedenen Dateien aufgerufen werden soll, zum Einlesen von Informationen zur aufrufenden Datei:
Sub Dateinamen_Pfad_auslesen()
Dim myPath As String
Dim myName As String
Dim myNameOEnd As String
Dim myNameWithPath As String
'Pfad der aufrufenden Mappe:
myPath = ActiveWorkbook.Path & "\"
'Name der aufrufenden Mappe ohne Pfad :
myName = ActiveWorkbook.Name
'Name der aufrufenden Mappe ohne Endung :
myNameOEnd = Replace(myName, Right(myName, 4), "")
'Dateiname  mit Pfad:
myNameWithPath = myPath & myName
End Sub

- in der aufrufenden Datei sollen diese Informationen dann zur Verfügung stehen:
Sub test
Application.Run ("personl.xls!Dateinamen_Pfad_auslesen")
MsgBox myPath
End Sub

Wo und wie muss ich die Variablen deklarieren, damit das funktioniert? In der aufrufenden Datei, aber wie? Kommen die Deklarationen an die "Application.Run"-Anweisung dran? Aber wie? So wie oben geht's auf jeden Fall nicht....
Für Eure Hilfe schonmal danke im Voraus und Grüße
Franz

9
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: application.run + Variable übergeben
01.02.2013 09:59:39
ransi
HAllo
Wenn du das Ganze in eine Function packen würdedst, könntest du dir die Klimmzüge mit Application.Run() sparen.
Diesen 1 Zeiler in ein Modul von deiner personl.xls.
Versuch mal:
Option Explicit

Public Function Dateinamen_Pfad_auslesen()
    Dateinamen_Pfad_auslesen = ActiveWorkbook.FullName
End Function



ransi

Anzeige
AW: application.run + Variable übergeben
01.02.2013 10:10:38
Franz
Hallo Ransi,
danke, aber ich bin zu blöd und krieg's nicht hin: wie rufe ich die Funktion in der aufrufenden Datei dann auf?
Grüße
Franz

AW: application.run + Variable übergeben
01.02.2013 10:18:55
ransi
Hallo Franz
Na ganz einfach so:
Msgbox Dateinamen_Pfad_auslesen
ransi

AW: application.run + Variable übergeben
01.02.2013 11:27:13
Franz
Hallo Ransi,
(sorry, musste kurz weg, drum die Unterbrechung)
ja klar, tut mir leid, hatte nen Übertragungsfehler.
Die anderen Informationen (myPath, myNameOEnd, ....) hab ichnicht nur abgerufen, um "myNameWithPath" zusammenzusetzen, sondern ich brauche sie auch. Dann kann ich das doch so weitermachenmachen, oder:
Public Function myNameWithPath()
myNameWithPath = ActiveWorkbook.FullName
End Function
Public Function myNameOEnd()
myNameOEnd = Replace(ActiveWorkbook.Name, Right(ActiveWorkbook.Name, 4), "")
End Function

Seh ich doch richtig so, oder?
Grüße
Franz

Anzeige
AW: application.run + Variable übergeben
01.02.2013 10:00:54
haw
Hallo Franz,
in diesem Fall ist es ganz einfach, du brauchst die Variable gar nicht übergeben:
Sub Dateinamen_Pfad_auslesen()
Dim myPath As String
Dim myName As String
Dim myNameOEnd As String
Dim myNameWithPath As String
'Pfad der aufrufenden Mappe:
myPath = ActiveWorkbook.Path & "\"
'Name der aufrufenden Mappe ohne Pfad :
myName = ActiveWorkbook.Name
'Name der aufrufenden Mappe ohne Endung :
myNameOEnd = Replace(myName, Right(myName, 4), "")
'Dateiname  mit Pfad:
myNameWithPath = myPath & myName
MsgBox myPath
End Sub
Oder willst du mit dem Pfad etwas anderes tun?
Gruß
Heinz

Anzeige
AW: application.run + Variable übergeben
01.02.2013 10:03:19
Franz
Hallo Heinz,
danke. Ja ich brauch die Informationen in der aufrufenden Datei, die MsgBox hab ich nur hier in der Testdatei zum Prüfen, ob's funktioniert.
Danke und Grüße
Franz

AW: application.run + Variable übergeben
01.02.2013 10:08:14
haw
Hallo Franz,
da ist ransis Lösung wohl am besten.
Die bietet dein myNameWithPath. Für die anderen Angaben kann man das gleich machen.
Gruß
Heinz

AW: application.run + Variable übergeben
01.02.2013 10:15:59
Rudi
Hallo,
wozu überhaupt die Prozedur?
myNameWithPath = ActiveWorkbook.FullName
Gruß
Rudi

AW: application.run + Variable übergeben
01.02.2013 11:29:34
Franz
Hallo Rudi,
ja, Du hast recht. Ich hab mir das einfach mal aus einem anderen Zusammenhang übernommen. Stimmt schon, muss mir das Grundsätzliche mal überlegen.
Danke und Grüße
Franz
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige