Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1860to1864
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

dynamisches Blatt kopieren

dynamisches Blatt kopieren
29.12.2021 16:42:13
Christian
Schönen Abend!
Habe zum Kopieren eines Tabellenblattes, löschen alter Eingaben und auch Übernahme von Daten aus einem anderen Tabellenblatt dieses Script dank eurer Hilfe gebastelt.
Hätte es jetzt noch gern ein weniger dynamischer, dass heißt: Gibt es eine Möglichkeit, beim Bereinigen und kopieren, dass sich der neue Name übernommen wird?
Bin für jeden Tipp und Hilfe dankbar.

Sub NEUES_JAHR()
' GANZES_JAHR Makro
' Alles einblenden
Cells.Select
Selection.EntireRow.Hidden = False
ActiveWindow.FreezePanes = False
Range("B4").Select
ActiveWindow.FreezePanes = True
Range("D11").Select
'Vergabe des neuen Tabellenblattnamens'
Dim strName As String
ActiveSheet.Copy After:=Sheets(Sheets.Count)
strName = InputBox("Name des neuen Blattes - und zum Kopieren OK klicken")
If Not strName = "" Then
ActiveSheet.Name = strName
Else
Exit Sub
End If
'Tabellenblattname wird in A1 kopiert
'für Formeln '
Selection.SpecialCells(xlCellTypeConstants, 1).Select
Selection.ClearContents
ActiveSheet.Range("A1") = strName
Cells.Select
Selection.EntireRow.Hidden = False
ActiveWindow.FreezePanes = False
Range("B6").Select
'Inhalte - Konstanten werden gelöscht'
ActiveWindow.FreezePanes = True
ActiveWindow.SmallScroll Down:=21
Rows("61:686").Select
Selection.EntireRow.Hidden = True
ActiveWindow.SmallScroll Down:=-55
Range("D11").Select
'Aktueller Stand vom Vojahr Dez wird in aktuelles Jahr kopiert'
Sheets("2021").Range("d681:N681").Copy
Sheets("2022").Range("d11").PasteSpecial xlPasteValues
Sheets("2021").Range("d680:N680").Copy
Sheets("2022").Range("d50").PasteSpecial xlPasteValues
Sheets("2021").Range("w637:w648").Copy
Sheets("2022").Range("x10").PasteSpecial xlPasteValues
Application.CutCopyMode = False
Dim iClick As Integer
iClick = MsgBox( _
prompt:="Neues Jahr wurde erfolgreich angelegt!", _
Buttons:=vbOKOnly)
End Sub

7
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: dynamisches Blatt kopieren
29.12.2021 16:56:35
GerdL
Hallo Christian,
wo soll der "neue Name" herkommen u. wo soll er hin ?
Gruß Gerd
AW: dynamisches Blatt kopieren
29.12.2021 17:35:21
Christian
Hier wird der Name für das neue Tabellenblatt vergeben:
'Vergabe des neuen Tabellenblattnamens'
Dim strName As String
ActiveSheet.Copy After:=Sheets(Sheets.Count)
strName = InputBox("Name des neuen Blattes - und zum Kopieren OK klicken")
If Not strName = "" Then
ActiveSheet.Name = strName
Else
Exit Sub
End If
'Tabellenblattname wird in A1 kopiert
'für Formeln '
In diesem Bereich werden die Daten übernommen, die gebraucht werden
'Aktueller Stand vom Vojahr Dez wird in aktuelles Jahr kopiert'
Sheets("2021").Range("d681:N681").Copy
Sheets("2022").Range("d11").PasteSpecial xlPasteValues
Sheets("2021").Range("d680:N680").Copy
Sheets("2022").Range("d50").PasteSpecial xlPasteValues
Sheets("2021").Range("w637:w648").Copy
Sheets("2022").Range("x10").PasteSpecial xlPasteValues
Application.CutCopyMode = False
Dim iClick As Integer
iClick = MsgBox( _
prompt:="Neues Jahr wurde erfolgreich angelegt!", _
Buttons:=vbOKOnly)
Wie kann man es anstellen, dass hier die Sheetsnamen übergenommen werden...?
Also 2022 ist neu kopiert, lösche gewisse bereiche, kopiere daten zum Übernehmen .
Was aber muss getan werden, dass nicht jedesmal die Sheetsnamen im Skript manuel geändert werden müssen?
Ich lege 2022 neu an.
lösche alte Eingaben
kopiere weiter benötigte Dateien aus 2021
das Ganze passiert dann nächstes Jahr wieder
lege 2023 neu an...
aber da muss ich doch jedesmal das Skript mit den Sheetsnamen ändern - oder gibt es hier eine Möglichkeit das dynamisch zu machen?
Anzeige
AW: dynamisches Blatt kopieren
29.12.2021 18:51:46
GerdL
Hallo Christian!
Probier mal.

Sub Unit()
Dim Vorjahr As String, X As Worksheet
ActiveSheet.Copy after:=Sheets(Sheets.Count)
On Error Resume Next
Set X = Sheets(CStr(Year(Date)))
On Error GoTo 0
With ActiveSheet '= jetzt das neu erstellte Blatt
If X Is Nothing Then
.Name = CStr(Year(Date)) 'neues Blatt mit aktuellem Jahr benennen, da es noch fehlt
Else
.Name = CStr(Year(Date) + 1) 'neues Blatt mit Folgejahr benennen
Set X = Nothing
End If
Vorjahr = CStr(CInt(.Name) - 1)
Sheets(Vorjahr).Range("d681:N681").Copy
.Range("d11").PasteSpecial xlPasteValues
Sheets(Vorjahr).Range("d680:N680").Copy
.Range("d50").PasteSpecial xlPasteValues
Sheets(Vorjahr).Range("w637:w648").Copy
.Range("x10").PasteSpecial xlPasteValues
End With
Application.CutCopyMode = False
MsgBox "Habe fertig!"
End Sub
Gruß Gerd
Anzeige
AW: dynamisches Blatt kopieren
30.12.2021 11:46:11
Christian
Danke, das ist aber nicht unbedingt so, wie ich es mir vorstelle.
Mein Gedanke war der, dass der Bereich wo die Daten aus dem Letzten Jahr
Sheets("2021").Range("d681:N681").Copy
Sheets("2022").Range("d11").PasteSpecial xlPasteValues
Sheets("2021").Range("d680:N680").Copy
Sheets("2022").Range("d50").PasteSpecial xlPasteValues
Sheets("2021").Range("w637:w648").Copy
Sheets("2022").Range("x10").PasteSpecial xlPasteValues
so geändert werden kann, dass nicht bei jedem Jahrwechsel das Skript geändert werden muss.
AW: dynamisches Blatt kopieren
30.12.2021 12:24:43
GerdL
Moin
Hast du getestet?
Wenn außer den Jahreszahlen der Blattnamen oder stattdesssen
die Zellenbereiche der "Holzellen" zu flexibilisieren sind, fehlen noch
Angaben zur Frage auf welcher Grundlage.
Gruß Gerd
Anzeige
AW: dynamisches Blatt kopieren
30.12.2021 13:06:10
Christian
Ich habe getestet. Bei deinem Skript löscht er mir aber die Konstanten (Ziffern) nicht.
Holzellen sind fixiert und ändern sich nie.
Und wenn ich dein Skript ein weiteres mal verwende um z. B. nach dem Blatt 2022 2023 anzulegen kommt Laufzeitfehler 1004
Vielen Dank
AW: dynamisches Blatt kopieren
05.01.2022 14:16:36
Christian
So, jetzt probiere ich es noch einmal.
Dieses::

Sub NEUES_JAHR()
' GANZES_JAHR Makro'
' Alles einblenden
Cells.Select
Selection.EntireRow.Hidden = False
ActiveWindow.FreezePanes = False
Range("B4").Select
ActiveWindow.FreezePanes = True
Range("D11").Select
'Vergabe des neuen Tabellenblattnamens'
Dim strName As String
ActiveSheet.Copy after:=Sheets(Sheets.Count)
strName = InputBox("Name des neuen Blattes - und zum Kopieren OK klicken")
If Not strName = "" Then
ActiveSheet.Name = strName
Else
Exit Sub
End If
'Tabellenblattname wird in A1 kopiert
'für Formeln '
Selection.SpecialCells(xlCellTypeConstants, 1).Select
Selection.ClearContents
ActiveSheet.Range("A1") = strName
Cells.Select
Selection.EntireRow.Hidden = False
ActiveWindow.FreezePanes = False
Range("B6").Select
'Inhalte - Konstanten werden gelöscht'
ActiveWindow.FreezePanes = True
ActiveWindow.SmallScroll Down:=21
Rows("61:686").Select
Selection.EntireRow.Hidden = True
ActiveWindow.SmallScroll Down:=-55
Range("D11").Select
'Aktueller Stand vom Vojahr Dez wird in aktuelles Jahr kopiert'
Sheets("2021").Range("d681:N681").Copy
Sheets("2022").Range("d11").PasteSpecial xlPasteValues
Sheets("2021").Range("d680:N680").Copy
Sheets("2022").Range("d50").PasteSpecial xlPasteValues
Sheets("2021").Range("w637:w648").Copy
Sheets("2022").Range("x10").PasteSpecial xlPasteValues
Application.CutCopyMode = False
Application.CutCopyMode = False
MsgBox "Neues Jahr wurde angelegt!"
End Sub
kopiert mir ein Tabellenblatt (hier das Jahr 2021)
ich vergebe für das neue Tabellenblatt den Namen 2022
in weiterer Folge werden im neuen Blatt Zellen die Eingaben (nicht Formeln, Texte usw) gelöscht und andere von 2021 auf 2022 kopiert.
Wie stelle ich es an, den Code


Sheets("2021").Range("d681:N681").Copy
Sheets("2022").Range("d11").PasteSpecial xlPasteValues
Sheets("2021").Range("d680:N680").Copy
Sheets("2022").Range("d50").PasteSpecial xlPasteValues
Sheets("2021").Range("w637:w648").Copy
Sheets("2022").Range("x10").PasteSpecial xlPasteValues
Application.CutCopyMode = False
alle Jahre ändern zu müssen?

Für Hilfe bin ich sehr dankbar
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige