Live-Forum - Die aktuellen Beiträge
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender

Forumthread: Tabellenblatt kopieren in freigegebener Datei

Tabellenblatt kopieren in freigegebener Datei
Crossboy
Guten Morgen,
ich brauche mal einen Ansatz von euch. Ich habe eine Tabelle in der ich sowohl Formatierungen habe, als auch VBA-Code der auf Bearbeitungen in der Tabelle reagiert. Diese Tabelle will ich per Makro kopieren und unter neuem Namen abspeichern. Das funktioniert super, bis ich die Datei freigegeben habe. Um das freigeben komme ich nicht drum rum, also muss ich für das kopieren eine Alternative finden.
Hat jemand eine Idee?
Danke & Gruß
Mark
Anzeige
AW: Tabellenblatt kopieren in freigegebener Datei
24.05.2012 10:09:14
Rolf
Hallo Mark,
handelt es sich bei "Tabelle" wirklich um ein Worksheet, oder um ein Workbook (mit mehrenen Tabellen)?
Meinst du mit "kopieren" die Funktion "ActiveWorkbook.SaveAs"?
Gruß, Rolf
AW: Tabellenblatt kopieren in freigegebener Datei
24.05.2012 11:18:18
Crossboy
Hallo Rolf,
sorry für die nicht klaren Formulierungen. Ich habe einen Worksheet der mir als Vorlage dient. Da sind Buttons und Formatierungen drin und im Hintergrund auch VBA-Code, der zum Beispiel auf Änderungen in Zellen reagiert. Mein Code für das Kopieren sieht so aus:
ThisWorkbook.Worksheets("Vorlage").Copy After:=ThisWorkbook.Sheets(Sheets.Count)
ActiveSheet.Name = "Neuer Name"
Es kommt dann leider eine Meldung, dass das bei freigegebenen Dateien nicht möglich ist.
Gibt es einen anderen Weg? Code und Formatierungen getrennt kopieren?
Gruß Mark
Anzeige
AW: Tabellenblatt kopieren in freigegebener Datei
24.05.2012 10:45:15
Rudi
Hallo,
du musst die Freigabe zwischenzeitlich aufheben.
Gruß
Rudi
AW: Tabellenblatt kopieren in freigegebener Datei
24.05.2012 11:35:11
Crossboy
Hallo Rudi,
kann ich das auch über einen Code machen?
Gruß Mark
AW: Tabellenblatt kopieren in freigegebener Datei
24.05.2012 12:16:40
Rudi
Hallo,
ja. Bemüh mal den Recorder.
Gruß
Rudi
Anzeige
AW: Tabellenblatt kopieren in freigegebener Datei
24.05.2012 12:50:49
fcs
Hallo Mark,
bei freigegebenen Arbeitsmappen gibt es jede Menge Funktionalitäten, die eingeschränkt (siehe unter Excel-Hilfe).
Was willst du denn mit dem kopierten Blatt machen?
Du kannst es problemlos per Makro in eine neue/andere Datei/Arbeitsmappe kopieren.
Zum Kopieren innerhalb der freigegebenen Mappe funktioniert im Prinzip folgendes Makro.
Falls via "Arbeitsmappe schützen" zusätzlich die Struktur geschützt ist, dann muss dieser vor dem Kopieren zusätzlich aufgehoben und anschliessend wieder gesetzt werden.
Gruß
Franz
'Makro in einem allgemeinen Modul - Erstellt unter Excel 2010
Sub Copy_in_FreigegegebenerMappe()
On Error GoTo Fehler
Dim wb As Workbook, wks As Worksheet
If InputBox("Bitte Kennwort für Zugriff auf geschützte Arbeitsmappe eingeben", _
"Blatt kopieren in " & ActiveWorkbook.Name) = "Test" Then
'        Set wb = Workbooks("AM_freigabeCopySheet.xlsm") 'Name der freigegebenen Datei
Set wb = ThisWorkbook 'wenn Makro in Modul der freigegebenen Datei
Set wks = wb.Worksheets("MyTab") 'zukopierendes Blatt
If wb.MultiUserEditing = True Then
Application.DisplayAlerts = False
wb.ExclusiveAccess 'hebt freigegeben-Status auf
'            wb.Unprotect Password:=""
wks.Copy After:=wks  'Blatt kopieren innerhalb der freigegebenen Mappe
'ggf. weitere Aktionen
'            wb.Protect Password:="", structure:=True, Windows:=False
wb.SaveAs Filename:=wb.FullName, Accessmode:=xlShared 'Arbeitsmappe speichern und  _
freigeben
Application.DisplayAlerts = True
Else
MsgBox "Die Datei ist zur Zeit nicht freigegeben"
End If
Else
MsgBox "Eingegebenes Kennwort ist falsch"
End If
Fehler:
With Err
Select Case .Number
Case 0 ' alles OK
Case Else
Application.DisplayAlerts=True
MsgBox "Fehler-Nr.: " & .Number & vbLf & .Description
End Select
End With
End Sub

Anzeige
;

Forumthreads zu verwandten Themen

Anzeige
Entdecke relevante Threads

Schau dir verwandte Threads basierend auf dem aktuellen Thema an

Alle relevanten Threads mit Inhaltsvorschau entdecken
Anzeige
Anzeige

Infobox / Tutorial

Tabellenblatt kopieren in freigegebener Datei


Schritt-für-Schritt-Anleitung

Um ein Excel-Arbeitsblatt in einer freigegebenen Datei zu kopieren, musst du den freigegebenen Status der Arbeitsmappe vorübergehend aufheben. Hier ist eine einfache Schritt-für-Schritt-Anleitung:

  1. Freigabe aufheben: Du kannst die Freigabe der Arbeitsmappe aufheben, indem du auf "Überprüfen" gehst und "Freigabe aufheben" wählst. Dies kann auch über ein Makro erfolgen, wie im Beispiel unten gezeigt.

  2. Blatt kopieren: Nutze den folgenden VBA-Code, um das gewünschte Arbeitsblatt zu kopieren:

    ThisWorkbook.Worksheets("Vorlage").Copy After:=ThisWorkbook.Sheets(Sheets.Count)
    ActiveSheet.Name = "Neuer Name"
  3. Freigabe wiederherstellen: Nach dem Kopieren kannst du die Freigabe erneut aktivieren, indem du wieder auf "Überprüfen" und "Freigabe aktivieren" klickst.


Häufige Fehler und Lösungen

  1. Fehler: "Dieser Befehl ist bei freigegebenen Dateien nicht verfügbar"
    Lösung: Du musst die Freigabe aufheben, um das Blatt zu duplizieren.

  2. Blatt kopieren nicht möglich
    Lösung: Stelle sicher, dass du die richtigen Berechtigungen hast und die Datei nicht geschützt ist.

  3. Neues Blatt ausgegraut
    Lösung: Überprüfe, ob das Arbeitsblatt oder die Arbeitsmappe geschützt ist.


Alternative Methoden

Wenn das Kopieren innerhalb einer freigegebenen Arbeitsmappe nicht möglich ist, kannst du die folgenden Alternativen ausprobieren:

  • Excel Arbeitsblatt in andere Datei kopieren: Du kannst das Arbeitsblatt in eine neue, nicht freigegebene Datei kopieren:

    wks.Copy
    Workbooks.Add
    ActiveSheet.Paste
  • Excel mappe duplizieren: Erstelle eine Kopie der gesamten Arbeitsmappe, indem du die Datei unter einem neuen Namen speicherst.


Praktische Beispiele

Hier sind einige praktische Beispiele, wie du ein Arbeitsblatt in Excel kopieren kannst:

  1. Arbeitsmappe kopieren Excel:

    ThisWorkbook.SaveCopyAs "NeuerName.xlsm"
  2. Blatt duplizieren Excel: Um ein Blatt innerhalb der gleichen Arbeitsmappe zu duplizieren, verwende:

    ThisWorkbook.Worksheets("Vorlage").Copy After:=ThisWorkbook.Worksheets("Vorlage")
  3. Excel Arbeitsblatt kopieren in andere Arbeitsmappe:

    ThisWorkbook.Worksheets("Vorlage").Copy _
    Destination:=Workbooks("Zielarbeitsmappe.xlsx").Worksheets(1)

Tipps für Profis

  • Verwende Tastenkombinationen: Der Excel Blatt kopieren Shortcut Ctrl + Drag kann nützlich sein, um Blätter schnell zu duplizieren.
  • Makros für Automatisierung: Erstelle ein Makro, das das Kopieren und die Freigabe automatisch verwaltet.
  • Schütze deine Blätter: Denke daran, den Schutz der Blätter wiederherzustellen, nachdem du das Kopieren abgeschlossen hast, um unerwünschte Änderungen zu vermeiden.

FAQ: Häufige Fragen

1. Kann ich ein Blatt kopieren, während die Datei freigegeben ist?
Nein, du musst die Freigabe aufheben, um ein Blatt zu kopieren.

2. Gibt es einen Shortcut, um ein Blatt zu kopieren?
Ja, du kannst das Blatt einfach mit der Ctrl-Taste ziehen, um es zu duplizieren.

3. Kann ich ein Arbeitsblatt in eine andere Datei kopieren, ohne die Freigabe aufzuheben?
Ja, du kannst das Arbeitsblatt in eine neue Datei kopieren, die nicht freigegeben ist.

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige