Microsoft Excel

Herbers Excel/VBA-Archiv

Excel Instanz öffnen

Betrifft: Excel Instanz öffnen von: Sven
Geschrieben am: 09.07.2015 11:45:30

Hallo,

ich möchte für einen Import aus einer externen Excel Datei diese in einer globalen Instanz öffnen, so dass alle Module drauf zugreifen können.

Wie ist so etwas zu realisieren - ggf. im Workbook_Open Ereignis?

So öffne ich die Instanz:

strFile = "daten.xlsx"
strTab = "AttC"
strTabAttr = "AttL"
strTabMeasuring = "ME"
strTabLanguage = "Lang"

Set App = New Application
App.Visible = False
App.Workbooks.Open strPath
Set WS = ThisWorkbook.Sheets(Tab1)
Set WSsource = App.Worksheets(strTab)
Set WSsourceAttr = App.Worksheets(strTabAttr)
Set WSsourceMeasuring = App.Worksheets(strTabMeasuring)
Set WSsourceLanguage = App.Worksheets(strTabLanguage)

Grüße
Sven

  

Betrifft: AW: Excel Instanz öffnen von: Patrick
Geschrieben am: 09.07.2015 13:54:33

Aus welchem Programm heraus möchtest du eine Excel Instanz erstellen?

Dim Instanz As New Excel.Application
Set Instanz = CreateObject("Excel.Application")
Das sollte eine Excel Instanz öffnen mit der du weiterarbeiten kannst.

Gruß,
Patrick


  

Betrifft: AW: Excel Instanz öffnen von: Sven
Geschrieben am: 09.07.2015 14:02:54

Ich habe eine Excel "Masterdatei" in der ich Daten aus einer Excel Tabelle hole.
Diesen Import habe ich modular über mehrere Prozeduren aufgebaut, wovon ich in einigen immer eine Instanz öffnen und schließen muss. Deutlich performanter ist es, wenn ich eine Instanz zentral öffne und mit allen Modulen darauf zugreife.

Müsste ich Set Instanz im Workbook_Open Ereignis einfügen?

Grüße
Sven


  

Betrifft: AW: Excel Instanz öffnen von: Patrick
Geschrieben am: 09.07.2015 14:21:46

Ist es immer das selbe Excel Workbook das du öffnen willst?

Na klar, falls du die Instanz öffnen willst sobald du deine Masterdatei öffnest, schreibst du den Code in das Workbook_Open Ereignis:

Private Sub Workbook_Open()

    Dim instanz As New Excel.Application
    instanz .Visible = True
    
    Dim mappe As Excel.Workbook
    Set mappe = instanz .Workbooks.Add("Dateipfad")

End Sub
Das sollte im Hintergrund die Excel mit dem angegebenen Pfad öffnen. Am Besten mal ausprobieren :)


  

Betrifft: AW: Excel Instanz öffnen von: Sven
Geschrieben am: 09.07.2015 14:29:45

Ja, es ist immer das gleiche Excel Workbook.

Ich werde es mal ausprobieren.

Vielen Dank!

Grüße
Sven


  

Betrifft: AW: Excel Instanz öffnen von: Patrick
Geschrieben am: 09.07.2015 14:33:17

Alles klar, solltest du noch Fragen haben, einfach stellen.

Gruß,
Patrick


  

Betrifft: AW: Excel Instanz öffnen von: Sven
Geschrieben am: 09.07.2015 15:43:02

Ich stehe heute auf dem Schlauch.

Die Instanz zu öffnen hat geklappt, aber wie greife ich aus dem Modul darauf zu?

Wenn ich z.B. LastRowWSsource = Instanz.Cells(Instanz.Rows.Count, 1).End(xlUp).Row aufrufe, bekomme ich eine Fehlermeldung.

Grüße
Sven


  

Betrifft: AW: Excel Instanz öffnen von: Sven
Geschrieben am: 13.07.2015 08:41:06

Ich brauche an der Stelle wirklich noch einmal Unterstützung.

Wie kann ich aus dem Modul heraus auf die im Workbook_Open Ereignis geöffnete Instanz zugreifen?

Gruß
Sven


 

Beiträge aus den Excel-Beispielen zum Thema "Excel Instanz öffnen"