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
-
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.
-
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
-
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