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

2 Externe Tabellen in die aktuelle Tabelle koppieren

Forumthread: 2 Externe Tabellen in die aktuelle Tabelle koppieren

2 Externe Tabellen in die aktuelle Tabelle koppieren
14.01.2025 16:54:55
Björn
Hallo zusammen,

Ich benötige nochmal eure Hilfe

1. Ich habe 2 externe Tabellen Tabelle 1 xxxx.xls und die 2. yyyyy.xls
2. die liegen in einem Ortner

3. In der zu öffenen Tabelle ist ein Jahr z.b.2024 enthalten, dieses Jahr kann in der geöffneten Tabelle "Bearbeitung Start" in dem Feld C26 anpassen Der Name ist wie folgt aufgebaut 2024_xxxx.xlsx also "C26"&xxxx oder yyyy
4. der Ortner wo die Dateien liegen ist in dem Feld C27 hinterlegt
Ich möchte nun die komplette Tabelle xxxx" in die Tabelle Dienste kopieren und die Tabelle yyyy in Einsätze ,ohne die Datei zu öffnen.

Könnt Ihr mit da Helfen ?

Danke schön mal Gruß Björn


Anzeige

8
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
ohne die Datei zu öffnen...
14.01.2025 17:06:00
Uduuh
Hallo,
...geht das nicht.

Gruß aus'm Pott
Udo
AW: Hey Björn, das geht doch noch viel einfacher !!!
15.01.2025 13:23:32
Piet
Hallo Björn

ich habe mir gerade noch mal deine 2 Beispieldateien aus dem vorherigen Thread angesehen.
Warum so aufwendig? - Geht doch alles viel viel einfacher. - Und ganz ohne VBA Makros!!

Öffne die Datei "2024_Export_Dienst", öffne die zweite Datei (ist das der "Jahresbericht"??)
Kopiere die Tabelle der 2. Datei nach "Export Dienst" und speichere die Datei unter neuem Namen!!

mfg Piet

Anzeige
AW: Hey Björn, das geht doch noch viel einfacher !!!
15.01.2025 13:30:31
Björn
Das geht ! Ja Klar! Es geht aber darum , das bei uns jeder daran herumfummeln kann und wir machen noch mehr im Hintergrund mit VBA .
Es soll alles Automatisch erfolgen. man drückt einen Knopf und die Makros machen mir alles .

Deshalb das kopieren über Makro.

Ich weis schon wie man Daten kopiert.

Aber Danke

Gruß Björn
Anzeige
AW: ohne die Datei zu öffnen...
14.01.2025 17:23:46
Björn
Dann halt mit öffnen der Dateien, ich möchte die Information der kompletten Tabelle kopieren.

Gruß Björn
AW: ohne die Datei zu öffnen...
14.01.2025 19:45:21
Yal
Hallo Björn,

also
- in C26 steht einen Teil des Namen der Quelldatei, entweder xxxx oder yyyy
- in C27 steht der Verzeichnis, wo diese Datei liegen.
- aus der gezielten Dateien die Daten kopieren und entweder bei "xxxx" in "Dienste" und bei "yyyy" in "Einsätze" ablegen.

Könnte ungefähr so aussehen (Blind aus dem Ärmel geschüttelt)
Sub Daten_übertragen()

Dim wb As Workbook
Dim Ziel As String

With Worksheets("Tabelle1") 'anpassen. Es handelt sich um das Blatt, wo C26 und C27 liegen
'Datei öffnen
Set wb = Workbooks.Open(.Range("C27").Value & "\2024_" & .Range("C26").Value)
'Fälle unterscheiden
Select Case LCase(.Range("C26").Value)
Case "xxxx": Ziel = "Dienste"
Case "yyyy": Ziel = "Einsätze"
End Select
'Übertragen
Range(wb.Worksheets("Tabelle1").Range("A1"), wb.Worksheets("Tabelle1").Cells.SpecialCells(xlLastCell)).Copy
With ThisWorkbook.Worksheets(Ziel)
.Cells.Clear
.Range("A1").Paste
End With
wb.Close SaveChanges:=False
End With
End Sub


VG
Yal
Anzeige
AW: ohne die Datei zu öffnen...
15.01.2025 07:39:10
Björn
Danke Dir erstmal , dort ist aber noch ein Fehler Drin.

ich habe noch was angepasst, damit das Einfacher ist.
die beiden Dateien lauten 2024_Expoer_Dienst.xlsx und 2024_Export_Einsatz.xlsx Habe die Werte jetzt in Tabelle "Bearbeitung Start" liegen
das Datum was sich verändern kann liegt unter C26 die Festen Werte wie "_Export_Dienst" F26 und _Export_Einsatz unter F27.

Das Verzeichnis ist immer noch unter C27

also wäre es C27 & C26 & F26 oder C27 & C26 & F27

Aktuell kommt der Fehler in der Zeile Set wb = Workbooks.Open(.Range("C27").Value & "\2024_" & .Range("C26").Value)

Die aktuelle Tabelle geöffnete darf auch nicht gespeichert werden. und Die beiden Tabellen nur geschlossen werden.

Die Dienste werden in die Tabelle Dienste kopiert und die Einsätze in die Tabelle Einsätze

Könntest Du vielleicht nochmal aushelfen . Danke nochmal für die schnelle Antwort.

Gruß Björn


Eine Frage noch, ist es ohne Probleme möglich , ? das ich noch eine Formel bekomme, dort stehe ich nämlich auch noch auf dem Schlauch.
Ich möchte das ich eine Speicherung noch bekommen.

Es soll die Tabelle "Bearbeitung Start" gelöscht werden und die Tabelle ohne Makro gespeichert werden unter C27/C26 & "_Jahresauswertung"

Danke Dir
Anzeige
AW: ohne die Datei zu öffnen...
15.01.2025 13:05:38
Piet
Hallo Björn

die Dateien einlesen geht auch mit Formeln, die man per VBA in Werte umwandeln kann.
Das mache ich dann aber über eine Hilfstabelle, hole mir dort die Daten. Kleiner Nachteil:
Bei Formeln sollte man den Benutzten Bereich kennen, damit die Formel nicht endlos wird.
Zellen die Leer sind enthalten bei der Formellösung einen "0" Wert. Den lösche ich mit Replace.

Eine Formel kannst du selbst entwickeln. Öffne deine Datei wo du die Daten haben willst, öffne die Datei wor du die Daten holst, setze in deiner Zieldatei in A1 ein "=" und hole den Wert aus Zelle A1 der Quelltabelle. Wenn du dann die "$" Zeichen entfernst kannst du mit der Formel alle Daten kopieren. Das habe ich auch für andere Frager mit VBA gemacht, und die Formeln nach dem laden in Werte umgewandelt. Das ganze mit Makro Recorder aufgezeichnet. Dann hast du die VBA Formel aufgezeichnet.

Du kannst aber auch die Lösung von Onur weiter verfolgen, denn die liegt ja schon vor.
Dann rate ich dir die Zellen C26, C27 etc. in Variable zu laden und diese zu verknüpfen.
z.B. Pfad = F27, Datei = C26, Version = C27

Wenn du die Quelldateien schliesst bitte so: Zieldatei.Close savechanges=False
Dann wird sie -ohne zu speichern- geschlossen.

mfg Piet
Anzeige
AW: ohne die Datei zu öffnen...
15.01.2025 13:43:22
Björn
Habe schon was gebastelt, habe aber noch einen Fehler beim Einfügen der Daten.
Er öffnet die Tabelle und bleibt hier hängen " .Range("A1").Paste"

Sub Coppy()
Dim wb As Workbook
Dim wb2 As Workbook
Dim AWA As Workbook
Dim Ziel As String
Set AWA = Workbooks("Auswertung_Anpassen")

With Worksheets("Bearbeitung Start")
Set wb = Workbooks.Open(.Range("C27").Value & .Range("C26").Value & .Range("F26").Value)
Range(wb.Worksheets("Tabelle1").Range("A1"), wb.Worksheets("Tabelle1").Cells.SpecialCells(xlLastCell)).Copy
AWA.Activate
With ThisWorkbook.Worksheets("Dienste")
.Range("A1").Paste

End With
wb.Close SaveChanges:=False
End With

End Sub
Anzeige

Forumthreads zu verwandten Themen

Anzeige
Anzeige