Dieses Forum nutzt Cookies
Dieses Forum verwendet Cookies, um deine Login-Informationen zu speichern, wenn du registriert bist, und deinen letzten Besuch, wenn du es nicht bist. Cookies sind kleine Textdokumente, die auf deinem Computer gespeichert werden. Die von diesem Forum gesetzten Cookies werden nur auf dieser Website verwendet und stellen kein Sicherheitsrisiko dar. Cookies aus diesem Forum speichern auch die spezifischen Themen, die du gelesen hast und wann du zum letzten Mal gelesen hast. Bitte bestätige, ob du diese Cookies akzeptierst oder ablehnst.

Ein Cookie wird in deinem Browser unabhängig von der Wahl gespeichert, um zu verhindern, dass dir diese Frage erneut gestellt wird. Du kannst deine Cookie-Einstellungen jederzeit über den Link in der Fußzeile ändern.

Duplizieren,Umbenennen und Kontrolle eines neuen Tabellenblatt VBA
#1
Hallo zusammen,

ich möchte eine Funktion erstellen, in der das aktuelle Blatt per Knopfdruck dupliziert wird und hinter das aktive Blatt hinzugefügt wird.
Dabei soll der Name des neuen Blattes geändert werden. Zudem soll kontrolliert werden, ob ein Blatt mit diesem Namen bereits existiert. Das Generieren eines neuen Blattes, das Umbenennen und die Kontrolle ob ein Blatt mit diesem Name bereits existiert habe ich hinbekommen. Allerdings scheitere ich in der Kopie des gesamten Tabellenblattes in das Neue. Problem ist wenn nur der Inhalt kopiert wird, ändert sich Formatierung und Funktionen wie z.B. Verschwinden lassen von mehreren Zeilen mit + und -.
Daher muss ich es irgendwie hinbekommen, dass alles wie bereits programmiert abläuft und dann dass bereits existierende Blatt dupliziert wird und wie angegeben umbenannt... Kann mir da vielleicht jemand weiterhelfen bzw hat jemand eine Idee wie man das lösen kann?

Vielen Dank schon mal an jede Hilfe! Smile
__________________

Sub NeuesSheet()
'** Neues benanntes Tabellenblatt einfügen
'** einfügen als letztes Blatt

'** Dimensionierung der Variablen
Dim blatt As Object
Dim BlattName As String
Dim bolFlg As Boolean


'** Blattname festlegen
BlattName = "PM 2"

'** Prüfen, ob das Blatt, welches eingefügt werden soll bereits vorhanden ist
'** Nur einfügen, wenn Blatt noch nicht vorhanden ist
For Each blatt In Sheets
  If blatt.Name = BlattName Then bolFlg = True
Next blatt

'** Blatt nur einfügen, wenn noch nicht vorhanden
If bolFlg = False Then
  With ThisWorkbook
    .Sheets.Add After:=Sheets(Worksheets.Count)
    .ActiveSheet.Name = "PM 2"
  End With
End If

End Sub
____________________
Antworten Top
#2
anstatt sheets.add  Sheets("Tabelle1").Copy After:=Sheets(2)
[-] Folgende(r) 1 Nutzer sagt Danke an ralf_b für diesen Beitrag:
  • Vince97
Antworten Top


Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste