Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1952to1956
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
Inhaltsverzeichnis

Blattname als Variable in Verweis auf Datei

Blattname als Variable in Verweis auf Datei
14.11.2023 10:51:31
Jacky151188
Hallo,

ich möchte verschieden aufgebaute Tabellenblätter aus geschlossenen Arbeitsmappen kopieren. Der Dateiname ist gleich dem Blattnamen der Zieldatei.

Das ist mein Code, aber so funktioniert das natürlich nicht..

Sub BlattAusGeschlossenerMappeKopieren()
blattname = ActiveSheet.Name
Application.ScreenUpdating = False

Set GeschlosseneMappe = Workbooks.Open("\\local\Documents\blattname.xlsx")
GeschlosseneMappe.Sheets("22_1 ABC").Copy Before:=ThisWorkbook.Sheets(1)
GeschlosseneMappe.Close SaveChanges:=False

Application.ScreenUpdating = True
End Sub


Wie kann ich den Blattname als variable in definieren und in den Code einbauen?

Vielen dank schon jetzt, ihr könnt bestimmt helfen :)


Viele Grüße
Jacky

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

Betreff
Datum
Anwender
Anzeige
AW: Blattname als Variable in Verweis auf Datei
14.11.2023 10:57:58
onur
"Wie kann ich den Blattname ..." ?
Welchen von den beiden denn?
AW: Blattname als Variable in Verweis auf Datei
14.11.2023 11:32:03
daniel
Hi
wenn du den Wert der Variablen blattname übernehmen willst, dann so:

Set GeschlosseneMappe = Workbooks.Open("\\local\Documents\" & blattname & ".xlsx")


festen Teiltext mit Anführungszeichen abschließen und die Variable mit dem Verkettungszeichen & mit den Teiltexten verbinden.

bei so einem Einzeiler kannst du auch auf die Variablen verzichten:
Set GeschlosseneMappe = Workbooks.Open("\\local\Documents\" & ActiveSheet.Name & ".xlsx")




Gruß Daniel
Anzeige
AW: Blattname als Variable in Verweis auf Datei
14.11.2023 13:01:22
Jacky151188
Super, danke Daniel.
Das klappt. Ich habe noch eine Frage:
Wie kann ich das kopierte Blatt analog der Datei benennen, aus der kopiert wurde?

Mein Code sieht ja jetzt so aus:


Sub BlattAusGeschlossenerMappeKopieren()

blattname = ActiveSheet.Name

Application.ScreenUpdating = False

Set GeschlosseneMappe = Workbooks.Open("\\local\Documents\" & blattname & ".xlsx")
GeschlosseneMappe.Sheets("22_1 CSRD").Copy Before:=ThisWorkbook.Sheets(1)
GeschlosseneMappe.Close SaveChanges:=False

Application.ScreenUpdating = True
End Sub


Aber so heißen alle Blätter gleich


Anzeige
AW: Blattname als Variable in Verweis auf Datei
14.11.2023 14:52:26
Yal
Hallo Jacqueline,

Darf man im voraus zum Geburtstag gratulieren? (15.11.88 ;-)

Du kopierst das Blatt immer vor dem ersten Blatt im Zieldatei, also deine Kopie ist immer an der erste Stelle in ThisWorkbook.
ThisWorkbook.Worksheets(1).Name = "xyz"
sollte reichen, um den Namen zu setzen.

VG
Yal
AW: Blattname als Variable in Verweis auf Datei
14.11.2023 16:29:05
Jacky151188
Hallo Yal,

ähm ja.. danke dir im Voraus :-D
nicht über das Alter sprechen, es aber für alle sichtbar machen... ;-)

Ich danke euch!

Ihr könnt den Beitrag schließen, mir wurde eben gesagt, dass meine Firma keine Makros zulässt.. traurig aber verständlich zugleich.


VG
Jacky
Anzeige
AW: Blattname als Variable in Verweis auf Datei
14.11.2023 16:43:30
Yal
Bonjour Jacqueline,

dann bleibt nur noch Power Query. Es ist eben keine Makro.

VG
Yal
AW: Blattname als Variable in Verweis auf Datei
14.11.2023 16:56:54
Jacky151188
Merci Yal, ja werde Power Query nutzen!

dann werden die Makros in der Form sicher bald ganz verschwinden aus MSO..

VG
Jacky
AW: Blattname als Variable in Verweis auf Datei
14.11.2023 11:25:13
Jacky151188
Das war verwirrend, ich habe da schon rumgebastelt. Sorry.

So im Original:

Sub BlattAusGeschlossenerMappeKopieren()
Application.ScreenUpdating = False

Set GeschlosseneMappe = Workbooks.Open("D:\Dropbox\excel\artikel\beispiel.xlsm")
GeschlosseneMappe.Sheets("Tabelle1").Copy Before:=ThisWorkbook.Sheets(1)
GeschlosseneMappe.Close SaveChanges:=False

Application.ScreenUpdating = True
End Sub

Damit kopiert er das Blatt.

Frage 1: Ich würde das Blatt gerne in ein bestehendes kopieren, das bereits den Namen der Datei "beispiel" enthält. geht das?

Frage 2: Die Zieldatei soll kopierte Blätter aus mehreren Dateien enthalten (Name der Datei ist immer noch der Blattname). Es wäre eine große Zeitersparnis, wenn man das für alle Dateien (analog den angelegten Tabellenblättern im Ziel) per Codeeinfügen könnte. Geht das?

Hoffentlich ist das verständlich.


VG
Jacky


Das muss jetzt aber für viele Dateien gemacht werden (Name der Datei ist der Blattname in der Zieldatei).
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige