Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender

Forumthread: Wechseln zwischen zwei Dateien

Wechseln zwischen zwei Dateien
18.05.2016 17:15:07
Henrique
Hallo zusammen,
ich habe folgenden Code. Diesen möchte ich quasi als Addin manuell auslösen wenn eine Datei mit bestimmten Tabellenblatt geöffnet ist. Dann möchte ich gerne daraufhin eine Datei öffnen lassen und von der letzten etwas dahin hineinkopieren. Das klappt auch alles so wie ich es möchte.
Nur möchte ich nun wieder jedoch in die vorige Datei zurückkehren um aus einem nächsten Tabellenblatt wieder etwas zu kopieren und anschließend wieder in die geöffnete zu kopieren.
Wie kann ich quasi hin und her wechseln? Das Problem bei dem Worksheets("Tabelle1").Select
ist hierbei das diese Datei keinen festen Pfad zugeordnet ist. Das makro müsste quasi nur mit der geöffneten Datei arbeiten können.
Sprich Klick auf Makro und dann:
Worksheets("Tabelle1").Select
Cells.Select
Cells.Copy
Workbooks.Open ("...\Basisdatei.xlsm")
Worksheets("Input1").Select
Cells.Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
....(wie komme ich nun wieder in vorige Datei zurück und dann wieder in die andere?)
Danke und Grüße
Henrique

Anzeige

2
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Wechseln zwischen zwei Dateien
18.05.2016 17:35:46
Michael
Hallo!
Weise die jeweiligen Arbeitsmappen bzw. Tabellenblätter entsprechenden Objekt-Variablen zu, dann kannst Du die jeweils gewünschte Mappe bzw. Tabelle über Variablen ansprechen, schematisch:
Sub a()
Dim QuellMappe As Workbook
Dim QuellBlatt As Worksheet
Dim ZielMappe As Workbook
Dim ZielBlatt As Worksheet
'ThisWorkbook = die Arbeitsmappe aus der das Makro aufgerufen wird
Set QuellMappe = ThisWorkbook
Set QuellBlatt = QuellMappe.Worksheets("Tabelle1")
Set ZielMappe = Workbooks.Open("...\Basisdatei.xlsm")
Set ZielBlatt = ZielMappe.Worksheets("Input1")
'ab hier kannst Du mit den Objekt-Variablen arbeiten...
With QuellBlatt
.Range("A2:H10").Copy ZielBlatt.Range("A1")
'usw. usf.
End With
End Sub
LG
Michael

Anzeige
AW: Wechseln zwischen zwei Dateien
18.05.2016 17:39:51
Fennek
Hallo,
es gibt sicher viele Möglichkeiten, aber diese ist recht einfach/übersichtlich:

dim WBZ as workbook 'Ziel
dim WBQ as workbook 'Quelle
set WBZ = thisworkbook
set WBQ = workbooks.open(Path & Filename)
'hier die COdes zum Bearbeiten.
WBQ.close 0 'ohne speicher schließen
'wenn man es perfekt machen will, ganz am Ende des Makro
set WBZ = nothing
set WBQ = nothing
mfg
Anzeige

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Anzeige
Anzeige
Anzeige
Anzeige

Infobox / Tutorial

Wechseln zwischen zwei Excel-Dateien


Schritt-für-Schritt-Anleitung

Um zwischen zwei Excel-Dateien oder -Tabellenblättern zu wechseln, kannst Du VBA verwenden. Hier ist eine einfache Schritt-für-Schritt-Anleitung:

  1. Variable definieren: Zuerst solltest Du Objekt-Variablen für Deine Arbeitsmappen und Arbeitsblätter definieren.

    Dim QuellMappe As Workbook
    Dim QuellBlatt As Worksheet
    Dim ZielMappe As Workbook
    Dim ZielBlatt As Worksheet
  2. Arbeitsmappen zuweisen: Weise die entsprechenden Arbeitsmappen und Arbeitsblätter den Variablen zu.

    Set QuellMappe = ThisWorkbook
    Set QuellBlatt = QuellMappe.Worksheets("Tabelle1")
    Set ZielMappe = Workbooks.Open("...\Basisdatei.xlsm")
    Set ZielBlatt = ZielMappe.Worksheets("Input1")
  3. Daten kopieren: Kopiere die benötigten Daten von der Quelle zur Zielarbeitsmappe.

    With QuellBlatt
       .Range("A2:H10").Copy ZielBlatt.Range("A1")
    End With
  4. Zurückwechseln: Um wieder zur vorherigen Datei zurückzukehren, musst Du einfach die Objekt-Variablen verwenden. Schließe am Ende die Zielmappe, wenn nötig.

    ZielMappe.Close SaveChanges:=False

Häufige Fehler und Lösungen

  • Problem: Fehler beim Öffnen der Zielmappe.

    • Lösung: Prüfe den Pfad der Datei. Stelle sicher, dass der Pfad korrekt ist und die Datei existiert.
  • Problem: Keine Daten werden kopiert.

    • Lösung: Vergewissere Dich, dass Du das richtige Arbeitsblatt ausgewählt hast und die Range korrekt definiert ist.

Alternative Methoden

Es gibt verschiedene Methoden, um zwischen Excel-Dateien und -Tabellen zu wechseln. Hier sind einige Alternativen:

  • Manuelles Wechseln: Du kannst auch manuell zwischen den Tabs wechseln, indem Du einfach die entsprechenden Registerkarten in Excel klickst.
  • Verwendung von Hyperlinks: Erstelle Hyperlinks in einer Tabelle, die direkt zu den Zielen führen, um den Wechsel zu erleichtern.

Praktische Beispiele

Hier ist ein einfaches Beispiel für das Wechseln zwischen zwei Excel-Dateien:

Sub WechselnZwischenDateien()
    Dim Quelle As Workbook
    Dim Ziel As Workbook

    Set Quelle = ThisWorkbook
    Set Ziel = Workbooks.Open("C:\DeinPfad\ZielDatei.xlsx")

    ' Hier kannst Du Deine Kopierbefehle einfügen.

    Ziel.Close SaveChanges:=True
End Sub

Dieses Beispiel zeigt, wie Du in VBA zwischen zwei Mappen wechseln und Daten kopieren kannst.


Tipps für Profis

  • Verwende Objekt-Variablen: Durch die Verwendung von Variablen kannst Du den Code übersichtlicher und leichter wartbar gestalten.
  • Fehlerbehandlung einbauen: Implementiere eine Fehlerbehandlung, um unerwartete Probleme während der Ausführung zu vermeiden.
  • Optimierung: Optimiere Deinen Code, indem Du unnötige Selektionsbefehle vermeidest, z.B. „Worksheets("Tabelle1").Select“ ist oft nicht nötig.

FAQ: Häufige Fragen

1. Wie kann ich zwischen Excel-Sheets wechseln?
Du kannst zwischen Excel-Sheets wechseln, indem Du einfach die Arbeitsblätter über die Objekt-Variablen ansteuerst, wie in den obigen Beispielen gezeigt.

2. Was ist der beste Weg, um Daten aus zwei Dateien zu kombinieren?
Der effizienteste Weg, aus zwei Dateien eine zu machen, ist die Verwendung von VBA, um die Daten zu kopieren und einzufügen, ohne manuell zwischen den Dateien zu wechseln.

3. Wie kann ich sicherstellen, dass meine Makros immer die richtige Datei nutzen?
Verwende immer ThisWorkbook, um sicherzustellen, dass Du mit der Datei arbeitest, die das Makro enthält. So vermeidest Du Verwirrung bei mehreren geöffneten Excel-Dateien.

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige