Supportnet Computer Supportnet Games Supportnet Kochen Explipedia
Login: guestBesucher online: 427
Supportnet Computerforum
SUPPORT
Home
Forum
Tipps & Infos
Blitz Angebote
Members
Hilfe
Video

TOP THEMEN
SSD Test
Alles über SSDs

Android Tipps
iPad Tipps
Google Tipps
Windows 8 FAQ
Windows 7 FAQ
E-Mail FAQ
Netzwerk FAQ
Festplatten FAQ
Datenrettung FAQ
Bildbearbeitung FAQ

Top iPhone Apps
Computer Einsteiger
Die 5 besten...
Explipedia
Themen
Direktlinks

Neue Einträge
News einsenden News einschicken
Tipps einsenden Tipp einschicken

SN-LINKS

Suche
Befreundete Seiten
Top Seiten

Supportnet/Forum/Tabellenkalkulation



Supportnet/Forum/Tabellenkalkulation
von CHFFrank2 vom 19.05.2017, 13:41 Diese Seite den Supportnet Favoriten hinzufügen  Mißbrauch, Beleidigungen und Blödsinn den Moderatoren melden


VBA automatisch File öffnen, aktualisieren und schliessen

 (87 Hits)

Hallo Zusammen,

Ich versuche mich gerade mal wieder mit VBA, komme aber gerade nicht mehr weiter und hoffe auf eure Hilfe.

Ich habe eine Exceldatei (Parent) welche Verlinkungen zu 2 anderen Dateien hat. Nun wollte ich, nach dem ich die Parent Datei öffne, dass die beiden anderen Dateien im Hintergrund geöffnet werden. Danach die Parent Datei aktualisiert, welche aus den beiden anderen gezogen wird. Im Anschluss sollen die beiden Dateien ungespeichert geschlossen werden.
Ich hatte vermutet dass dies keine sehr grosse VBA Herausforderung ist. Die automatische Öffnung und Schliessung funktioniert auch aber die Aktualisierung im Zwischenschritt klappt nicht.

Private Sub Workbook_Open()
Workbooks.Open "Helpfile1.xlsx"
Workbooks.Open "Helpfile2.xlsx"
ThisWorkbook("Parent.xlsm").Activate
ThisWorkbook.Worksheets("Daten").RefreshAll
Workbooks("Helpfile1.xlsx").Close False
Workbooks("Helpfile2").Close False
End Sub

Vorab schon mal vielen Dank für eure Vorschläge!
Frank


Antwort schreiben 50 Bonuspunkte

Antworten...
Antwort 1 von M.O. vom 19.05.2017, 16:42 Mißbrauch, Beleidigungen und Blödsinn den Moderatoren melden

Hallo Frank,

wenn du eine Datei öffnen willst, dann musst du den gesamten Pfad angeben.

Dein Makro müsste also ungefähr so aussehen (Pfad anpassen):
Private Sub Workbook_Open()
Workbooks.Open "C:\Test\Helpfile1.xlsx"
Workbooks.Open "C:\Test\Helpfile2.xlsx"
With ThisWorkbook
 .Worksheets("Daten").RefreshAll
End With
Workbooks("Helpfile1.xlsx").Close (False)
Workbooks("Helpfile2.xlsx").Close (False)
End Sub

Oder falls die Helpfiles im gleichen Verzeichnis wie die Parent-Arbeitsmappe liegen:
Private Sub Workbook_Open()
Dim strPfad As String

strPfad = ThisWorkbook.Path
Workbooks.Open strPath & "\Helpfile1.xlsx"
Workbooks.Open strPath & "\Helpfile2.xlsx"
With ThisWorkbook
 .Worksheets("Daten").RefreshAll
End With
Workbooks("Helpfile1.xlsx").Close (False)
Workbooks("Helpfile2.xlsx").Close (False)
End Sub

Gruß

M.O.


Antwort noch nicht bewertet Als gute Antwort bewerten
Diese Antwort hat mein Problem gelöst
Antwort 2 von CHFrank2 vom 22.05.2017, 14:36 Mißbrauch, Beleidigungen und Blödsinn den Moderatoren melden

Hi Mo,

vielen Dank für deinen Input.
Ich habe den Code auch soweit angepasst, allerdings erhalte ich die Laufzeitfehler 438 Meldung Objekt unterstützt diese Eigenschaft nicht...
Nun habe ich nachgelesen, was diesen Fehler hervorrufen könnte und es wurde darauf hingewiesen, dass dies durch AddIns verursacht wird.
Leider konnte ich auch nach punktueller Ausschaltung einzelner AddIns das Problem nicht beheben.

Habt Ihr hierzu Ideen?
Könnte es noch andere Ursachen geben als inkompatible AddIns?

Viele Grüsse
Frank


Antwort noch nicht bewertet
Antwort 3 von M.O. vom 22.05.2017, 15:00 Mißbrauch, Beleidigungen und Blödsinn den Moderatoren melden

Hallo Frank,

welche Zeile wird denn gelb markiert, wenn der Fehler kommt?

Und poste bitte auch mal deinen angepassten Code.

Gruß

M.O.


Antwort noch nicht bewertet Als gute Antwort bewerten
Diese Antwort hat mein Problem gelöst
Antwort 4 von CHFrank2 vom 22.05.2017, 16:48 Mißbrauch, Beleidigungen und Blödsinn den Moderatoren melden

Hallo M.O.

der eingegebene Code sieht wie folgt aus:

Private Sub Workbook_Open()
Workbooks.Open "M:\Marktplatz\Helpfile1.xlsx"
Workbooks.Open "M:\Marktplatz\Helpfile2.xlsx"
With ThisWorkbook
.Worksheets("Daten").RefreshAll
End With
Workbooks("Helpfile1.xlsx").Close False
Workbooks("Helpfile2.xlsx").Close False
End Sub

Die mittlere Zeile ab ". Worksheets("Daten")" wird gelb angeleuchtet.

Viele Grüsse
Frank


Antwort noch nicht bewertet
Antwort 5 von M.O. vom 23.05.2017, 07:41 Mißbrauch, Beleidigungen und Blödsinn den Moderatoren melden

Hallo Frank,

so funktioniert es:

Private Sub Workbook_Open()
Workbooks.Open "M:\Marktplatz\Helpfile1.xlsx"
Workbooks.Open "M:\Marktplatz\Helpfile2.xlsx"
ThisWorkbook.RefreshAll
Workbooks("Helpfile1.xlsx").Close False
Workbooks("Helpfile2.xlsx").Close False
End Sub


Gruß

M.O.


Antwort noch nicht bewertet Als gute Antwort bewerten
Diese Antwort hat mein Problem gelöst
Antwort 6 von CHFrank2 vom 23.05.2017, 14:47 Mißbrauch, Beleidigungen und Blödsinn den Moderatoren melden

Hallo M.O.

herzlichen Dankf für deine Hilfe!
Das Öffnen und schliessen der Hilfdateien funktioniert nun perfekt.
Allerdings die Aktualisierung der Parent Datei klappt nicht ganz aber ich glaube dass dies nicht an dem VBA Code liegt.
In manchen Feldern steht noch #Wert obwohl in der Hilfsdatei der entsprechende Wert, aus welcher die Daten gezogen werden, vorhanden sind.
Nach einem Doppleklick auf das entsprechende Feld wird der Inhalt akualisiert und nun angezeigt.

Viele Grüsse
Frank


Antwort noch nicht bewertet




Antwort schreiben
    Bitte einen 'Nickname' wählen.
Nickname:*
    (eMail-Adresse wird nicht veröffentlicht.)
eMail:
Nachricht: Ich möchte bei Antworten benachrichtigt werden.
    Hilfe zur Beitragsformatierung gibts [hier]
                   
Antwort:*
  Die Nutzungsbedingungen habe ich gelesen und akzeptiert.

MACHEN SIE IHRE WEBSITE ATTRAKTIVER
Sie haben eine eigene Website und wollen Ihre Besucher auf den Supportnet-Service aufmerksam machen? Kopieren Sie einfach den Quellcode in Ihre Seite und jeder Besucher Ihrer Seite kann direkt auf die Supportnet-Datenbank zugreifen.

My Supportnet


SUCHE

Gruppen im Forum
Betriebsysteme
Software
Hardware
Netzwerk
Programmierung
Sonstiges

Impressum © 1997-2015 SupportNet
Version: supportware 1.8.230E / 18.10.2010, Startzeit:Sun May 14 21:51:28 2017