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

Tabellenblatt in allen Excel-Dateien im Ordner überschreiben

Tabellenblatt in allen Excel-Dateien im Ordner überschreiben
14.11.2023 20:21:11
Ruhrpottriot
Hallo zusammen,

ich habe relativ gute Excel-Kenntnisse, allerdings kaum/keine VBA-Kenntnisse und brauche hier eure Hilfe.

Ich habe eine Basis-Datei mit dem Tabellenblatt Daten. Dieses Tabellenblatt soll in alle Excel-Dateien im gleichen Ordner kopiert werden. Wichtig ist, dass es in diesen weiteren Excel-Dateien das Tabellenblatt Daten bereits gibt, dies aber durch die Basis-Datei aktualisiert werden soll. Zu dem Tabellenblatt Daten bestehen innerhalb der weiteren Excel-Dateien Zellbezüge.

Nun mein Problem. Ich habe folgenden VBA-Code, der auch eigentlich funktioniert. Allerdings kopiert er das Tabellenblatt einfach nur in alle weiteren Excel-Dateien, sodass jeweils das Tabellenblatt Daten (2) entsteht. Ich will aber, dass es das Tabellenblatt Daten ersetzt und die Zellbezüge auch weiterhin funktionieren. Könnt ihr mir helfen? Ich bekomme es selber leider einfach hin.

Hier der Code:



Option Explicit

Sub Kopieren_Daten()
Dim sPfad As String
Dim sName As String

sPfad = ThisWorkbook.Path
sName = Dir(sPfad & "\*") ' Ersten Eintrag abrufen.
Do While sName > "" ' Schleife beginnen.
If sName > ThisWorkbook.Name Then
Workbooks.Open Filename:=(sPfad & "\" & sName)
ThisWorkbook.Worksheets("Daten").Copy after:=ActiveWorkbook.Sheets(Sheets.Count)
ActiveWorkbook.Close savechanges:=True
End If
sName = Dir ' Nächsten Eintrag abrufen.
Loop
End Sub

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

Betreff
Datum
Anwender
Anzeige
AW: Tabellenblatt in allen Excel-Dateien im Ordner überschreiben
14.11.2023 21:45:36
Uduuh
Hallo,
teste mal:
Sub Kopieren()

Dim sPfad As String
Dim sName As String
Dim vntFormulas
Application.ScreenUpdating = False
vntFormulas = ThisWorkbook.Worksheets("Daten").UsedRange.Formula
sPfad = ThisWorkbook.Path
sName = Dir(sPfad & "\*") ' Ersten Eintrag abrufen.

Do While sName > "" ' Schleife beginnen.
If sName > ThisWorkbook.Name Then
Workbooks.Open Filename:=(sPfad & "\" & sName)
With ActiveWorkbook
.Worksheets("Daten").Cells(1, 1).Resize(UBound(vntFormulas), UBound(vntFormulas, 2)) = vntFormulas
.Close savechanges:=True
End With
End If
sName = Dir ' Nächsten Eintrag abrufen.
Loop

End Sub

Gruß aus'm Pott
Udo
Anzeige
AW: Tabellenblatt in allen Excel-Dateien im Ordner überschreiben
15.11.2023 13:56:22
Ruhrpottriot
Hallo Udo,

besten Dank, das funktioniert genau so wie ich es wollte.

Danke und viele Grüße zurück aus dem Pott ;)
Tim

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige