Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
784to788
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
784to788
784to788
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
VBA: Zugriff auf andere Dateien per Makro
28.07.2006 15:19:42
Slawek
Hallo zusammen,
Ich schreibe grad ein Makro das sich in einer Datei befindet in der ich immer weiter Daten pflege.
Nun muss ich ab und an andere listen (die immer gleich aufgebaut sind) mit den Daten aus der ersten Datei befüllen.
Dabei sucht das MAkro nun nach einem Schlüssel und sobald dieser gefunden ist wird der wert in die andere Tabelle kopiert. UNd gut ist.
Aber dafür muss ich bisher immer die Tabellen aus den Dateien in die Datei kopieren wo das MAkro sich befindet.
Kann ich es vielleicht irgendwie so machen dass ich, wenn ich das Makro ausführe mir eine Datei auswählen kann und dann eine Tabelle auswählen.
Und dass diese dann befüllt wird?
Ich bin um jede Hilfe dankbar.
Schöne Grüße
Slawek

11
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: VBA: Zugriff auf andere Dateien per Makro
28.07.2006 17:02:21
Matthias
Hallo Slawek,
du kannst dein MAkro mit Argumenten ausstatten, welche die zu bearbeitende Tabelle enthalten:
z.B. die Mappe mit den Makros heißt "Makros.xls":

Sub Test(Sh As Worksheet)
MsgBox Sh.Name & " befindet sich in der Mappe " & Sh.Parent.Name
End Sub

Ein Aufruf von einer fremden Mappe aus ginge dann so (Markos.xls muss geöffnet sein):

Application.Run "Makros.xls!Test", Thisworkbook.Sheets("Tabelle1")

AW: VBA: Zugriff auf andere Dateien per Makro
28.07.2006 17:23:47
Slawek
Hi Matthias,
Also das hab ich rausgefunden im MSDN. Aber nun fehlt mir noch etwas USerkomfort. Ich will mit einem DIalog oder von mir aus auf Form die Datei auswählen lassen und dann die Worksheets anzeigen um dann da das richtige auszuwählen.
So dass ich dann das Objekt zum richtigen Worksheet habe und damit arbieten kann.
Oder der User muss eigenständig die Datei öffnen und das Makro gibt dann beim start des Makros alle geöffneten Worksheets in einer Liste aus aus der man dann auswählen kann.
Dann hätte ich ja auch ein Objekt mit dem ich dann arbeiten könnte oder?
Anzeige
AW: VBA: Zugriff auf andere Dateien per Makro
28.07.2006 17:36:57
Slawek
Hallo nochmal,
hab nun noch eine Kleinigkeit: Ich habe einfach erstmal abgekürzt und frage den User wie die Datei heißt die er schon geöffnet hat. Dies gibt er in eine Inputbox ein und ich habe es dann als string.
Wie kann ich nun aus diesem String ein Object auf die Datei(Workbook) machen?
Das brauch ich ja auch wenn er die datei über ein dialog auswählen kann.
Danke :)
AW: VBA: Zugriff auf andere Dateien per Makro
28.07.2006 18:17:21
Matthias
Hallo Slawek,
so in etwa,

Sub test2()
Dim mappe As String, wb As Workbook
mappe = InputBox("Mappenname:")
On Error Resume Next
Set wb = Workbooks(mappe) '<<<Hier geschieht die Zuweisung
If Err.Number > 0 Then
MsgBox "Mappe '" & mappe & "' ist nicht geöffnet!"
Exit Sub
End If
On Error GoTo 0
'so, jetzt kannst du die mappe mit wb. ansprechen, z.B.
'wb.Sheets("Tabelle1").Cells(1, 1) = 1
End Sub

Gruß Matthias
Anzeige
AW: VBA: Zugriff auf andere Dateien per Makro
28.07.2006 21:31:28
Slawek
Hallo Matthias,
Ja das sieht klasse aus. Werde ich gleich mal ausprobieren.
Also ich kenne es aus C# so da gibt es ein Com Objekt für Excel und ich kann da Dateien öffnen und drauf zugreifen. Hab halt ziemlich viel kontrolle dadrüber.
ABer geht sowas auch hier?`
Also ich fand eben die möglichkeit eine Exceldatei zu öffnen. Jedoch wird die datei nur geöffnet und ich bekomme das resultat ob es geklappt hat oder nicht. aber leider nicht den Dateinamen. Den bräuchte ich ja um auf die Tabelle auch zuzugreifen. UNd danach das Workbook auch wieder zu schließen.
Gibt es vielleicht in dieser Richtung eine möglichkeit?
Gruß
Slawek
Anzeige
AW: VBA: Zugriff auf andere Dateien per Makro
28.07.2006 22:13:06
Matthias
Hallo Slawek,
Hab halt ziemlich viel kontrolle dadrüber.
ABer geht sowas auch hier?

Naja, mit Excel hat man ja die größte Kontrolle über Excel ;-)
Jedoch wird die datei nur geöffnet und ich bekomme das resultat ob es geklappt hat oder nicht. aber leider nicht den Dateinamen.
Wieso, den Dateinamen hast du doch in der Variablen "mappe" stehen.
Und danach das Workbook auch wieder zu schließen.
Das geht dann mit

wb.Close

Gruß Matthias
AW: VBA: Zugriff auf andere Dateien per Makro
28.07.2006 22:38:43
Slawek
OK das versteh ich stimmt.
Hast du denn eine Idee wie ich ein Dokument aus dem Quelltext raus öffnen kann? und das so dass das neugeöffnete Dokument unsichtbar bleibt.
Anzeige
AW: VBA: Zugriff auf andere Dateien per Makro
28.07.2006 22:51:57
Matthias
Hallo Slawek,
und das so dass das neugeöffnete Dokument unsichtbar bleibt.
so:

Application.ScreenUpdating = False
Workbooks.Open Filename="C:\test.xls"
' sonstwas
ActiveWorkbook.Close
Application.ScreenUpdating = True

dann kriegt man davon nichts weiter mit.
Gruß Matthias
AW: VBA: Zugriff auf andere Dateien per Makro
28.07.2006 23:03:46
Slawek
Hallo,
also das mit dem Application.ScreenUpdating = False hat leider nichts gebracht. Die datei wird trotzdem normal geöffnet und angezeigt.
Application.ScreenUpdating = False
Workbooks.Open (FilePathName)
Gibts da vielleicht noch was anderes?
Also ich hab gefunden dass es möglich ist Application.Visible = false
aber dann ist jede Datei unsichtbar.
Geht das vielleicht auch irgendwie für ein einzelnes Workbook?
Gruß
Slawek
Anzeige
AW: VBA: Zugriff auf andere Dateien per Makro
28.07.2006 23:29:37
Matthias
Hallo Slawek,
Du kannst auch eine eigene Excel-Instanz öffnen (wie wohl auch mit C#, ich kenne es von VisualBasic):

Sub test()
Dim xlApp As Excel.Application
Set xlApp = CreateObject("Excel.Application")
'xlApp.Visible = True 'zum Debuggen Kommentar entfernen
xlApp.Workbooks.Open Filename = "C:\test.xls"
xlApp.ActiveWorkbook.Close
xlApp.Quit
Set xlApp = Nothing
End Sub

Gruß Matthias
AW: VBA: Zugriff auf andere Dateien per Makro
29.07.2006 00:07:40
Slawek
Hi Matthias,
Es käuft :)
Also vielen Dank für die Hilfe hat nun alles geklappt.
Eine gute nacht wünsche ich dir.
Bis bald
Slawek
Anzeige

239 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige