Microsoft Office Forum [ www.Office-Fragen.de ] >> READONLY <<

Microsoft Office 2003-2019 => Excel => Thema gestartet von: Adoran am Juli 12, 2018, 09:21:19 Vormittag

Titel: Office 2016 Tabellenblatt in einer anderen Datei ersetzen/ Werte komplett austauschen
Beitrag von: Adoran am Juli 12, 2018, 09:21:19 Vormittag
Hallo liebe Gemeinde,

ich habe vor langen eine Excel-Datei erstellt, welche verschiedene Leute bei mir nutzen.

Dort enthalten ist eine Tabellenblatt, welches rein aus Daten und ein paar Formatierungen besteht. Keine Formeln oder Zellbezüge.
Nur andere Tabellenblätter haben zu diesem wichtige Bezüge. Es ändern sich allerdings keine Spalten oder Zeilen, sondern nur Werte in diesen.
Allerdings ist diesen Tabellenblatt normal Passwortgeschützt (Blattschutz)


Nun sind in der diesem Tabellenblatt einige Fehler, bzw. Änderungen durchzuführen.


Es gibt doch sicher die Möglichkeit, eine Datei zu erstellen, womit ich jedem "Nutzer" Abhilfe schaffen kann.

Ich stelle mir das wie folgt vor:

UpdateDatei_Tabellenblatt1 -> Steuerelement zur Auswahl der Nutzerdatei (Dadurch Ermittlung des Pfades der zu ändernden Datei)
UpdateDatei_Tabellenblatt2 -> hier das Tabellenblatt, welches das falsche Tabellenblatt ersetzen soll

Entweder wird in der Nutzerdatei das betroffene Tabellenblatt gelöscht und UpdateDatei_Tabellenblatt2 eingefügt (wobei dann die Bezüge darauf verloren gehen würden),
oder ich kopieren die Inhalten von UpdateDatei_Tabellenblatt2 in das entsprechende Tabellenblatt der Nutzerdatei.

Wie mach ich das nun am sinnvollsten?
Ich will es dem "Nutzer" nur sehr einfach machen. Er soll die Datei wie üblich auswählen, von mir aus auch einfach den Pfad mit Dateinamen in eine entsprechende Zelle kopieren, einen Button drücken, und seine Datei hat dann die richtigen Daten.


Titel: Antw:Office 2016 Tabellenblatt in einer anderen Datei ersetzen/ Werte komplett austau
Beitrag von: Adoran am Juli 12, 2018, 11:31:38 Vormittag
ich habe es mal simpel probiert:

Sub Schaltfläche1_Klicken()
Dim pfad As String

pfad = ActiveSheet.Cells(4, 1).Value

Dim wbStart, wbZiel As Workbook

 Set wbStart = ActiveWorkbook
 Set wbZiel = Workbooks.Open(pfad)
 wbStart.Sheets("Tabelle1").Range("A:H").Copy
 wbZiel.Sheets("Tabelle1").Range("A:H").Select
 wbZiel.Sheets("Tabelle1").Paste

End Sub



hm..er stört sich an der Paste-Methode
Titel: Antw:Office 2016 Tabellenblatt in einer anderen Datei ersetzen/ Werte komplett austauschen
Beitrag von: Packman am Juli 13, 2018, 21:58:18 Nachmittag
Hallo Adoran  :)

Dein Code ergänzt!

Gruß Packman

Sub Schaltfläche1_Klicken()
 Workbooks.Open (ActiveSheet.Cells(4, 1).Value)
 ThisWorkbook.Worksheets("Tabelle1").Range("A:H").Copy
 Worksheets("Tabelle1").Range("A1").PasteSpecial Paste:=xlValues
 Worksheets("Tabelle1").Range("A1").Select
 ActiveWorkbook.Close SaveChanges:=True
 Application.CutCopyMode = False
End Sub