2016-05-18 2 views
-1

Mein Arbeitsbuch enthält insgesamt 7 Blatt, von denen vier ausgeblendet sind. Ich möchteIch möchte den Inhalt des unmittelbar vorhergehenden Blattes in ein neues Blatt innerhalb desselben Arbeitsbuchs kopieren.

  1. ein neues Blatt erstellen VBA
  2. Kopie alle Inhalte der letzten Blatt über neu erstellte Blatt

i unten Code versucht

sheet_name_to_create = InputBox("Enter Sheet Name") 

For rep = 1 To (Worksheets.count) 
If LCase(Sheets(rep).Name) = LCase(sheet_name_to_create) Then 
MsgBox " This Sheet already exists" 
Exit Sub 
End If 
Next 
ActiveSheets.copy After:=Sheets(Sheets.count) 
Sheets(ActiveSheet.Name).Name = sheet_name_to_create 

aber dieser Code Erstellen Sie neue Kopien aller vorhandenen Blätter (alle 7 Blätter, die ich in der Arbeitsmappe habe).

Bitte schlagen Sie die bestmögliche Lösung vor.

Vielen Dank im Voraus für Ihre Hilfe!

Antwort

2

Macro wird nach dem Namen für das neue Blatt fragen und dann das letzte Blatt kopieren.

Sub AddNewSheet() 
sheet_name_to_create = InputBox("Enter Sheet Name") 
For rep = 1 To (Worksheets.Count) 
    If LCase(Sheets(rep).Name) = LCase(sheet_name_to_create) Then 
    MsgBox " This Sheet already exists" 
    Exit Sub 
    End If 
Next 
Sheets(Sheets.Count).Copy After:=Sheets(Sheets.Count) 
Sheets(Sheets.Count).Name = sheet_name_to_create 
End Sub 
+0

@Cundy Vielen Dank, es hat funktioniert! :) –

+0

@cundy Ich habe noch eine Frage, die das Excel-Blatt, das ich kopiere, habe Formeln, die Daten von vorherigen Blättern ableiten. Können diese Formelreferenzen automatisch aktualisiert werden? –

+0

Sie können Referenzen im ganzen Blatt ändern, indem Sie einfach STRG + H drücken, wenn ich Sie richtig verstanden habe. Wenn Sie es zum Makro hinzufügen möchten, verwenden Sie den Makrorekorder und ändern Sie das Ergebnis für Ihre Bedürfnisse. – Cudny

Verwandte Themen