Live-Forum - Die aktuellen Beiträge
Datum
Titel
28.03.2024 21:12:36
28.03.2024 18:31:49
Anzeige
Archiv - Navigation
1856to1860
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

Arbeitsblatt mit Makro fortlaufend

Arbeitsblatt mit Makro fortlaufend
19.11.2021 11:58:56
Sydney
Hallo zusammen,
ich versuche mich gerade in VBA einzuarbeiten und erste Gehversuche zu unternehmen.
Bei der Umsetzung folgender Funktion habe ich Probleme und finde nicht den richtigen Ansatz zur Lösung.
Vielleicht könnt ihr mir weiterhelfen?
Mit der Aufzeichnen Funktion habe ich folgendes Makro erstellt und dann die um die Funktion ActiveSheet.Name ergänzt.

Sub Makro3()
' Makro3 Makro
Sheets("100100061").Select
Sheets("100100061").Copy After:=Sheets(21)
Range("B2:J21").Select
Selection.ClearContents
Range("G28:J28").Select
Selection.ClearContents
Range("G28").Select
ActiveCell.FormulaR1C1 = "='100100061'!RC[2]"
Range("I28").Select
ActiveCell.FormulaR1C1 = "=RC[-2]+1"
Range("I28    ").Select
ActiveSheet.Name = Range("G28")
End Sub
Ich möchte realisieren, das immer aus dem neu generierten Arbeitsblatt ein neues mit fortlaufender Nummer benanntes Arbeitsblatt erzeugt wird.
Hierzu habe ich in G28 die Laufende Nummer + 1 gezählt und werte sie in dem neuen Arbeitsblatt als Namen aus.
Leider funktioniert dies genau 1x danach kommt der Fehler 1004 wegen dem doppelten Namen.
Eigentlich möchte ich das Makro unabhängig von den Namen der Arbeitsblätter halten und nur auf Grund der gezählten Werte Namen vergeben.
Also das 100100061 sollte nicht sichtbar sein.
Danke für eure Hilfe :)

1
Beitrag zum Forumthread
Beitrag zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Arbeitsblatt mit Makro fortlaufend
19.11.2021 12:25:58
UweD
Hallo
auf Select kann in 99% verzichtet werden.
Hier mal 2 Lösungen.

Sub gfgf()
Dim TB As Worksheet
Set TB = ActiveSheet
TB.Copy After:=Sheets(Sheets.Count)
With ActiveSheet ' Ist jetzt das neu Erstellte
.Range("B2:J21").ClearContents
.Range("G28:J28").ClearContents
.Range("G28").FormulaR1C1 = "='" & TB.Name & "'!RC[2]"
.Range("I28").FormulaR1C1 = "=RC[-2]+1"
.Name = .Range("G28")
End With
End Sub

Sub ewrff()
Dim TB As Variant
TB = ActiveSheet.Name
Sheets(TB).Copy After:=Sheets(Sheets.Count)
If IsNumeric(TB) Then ActiveSheet.Name = TB + 1
End Sub
LG UweD
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige