Namensmanager und Schleifen
30.06.2020 16:04:19
Steve
Moin Leute,
ich hab mal eine Frage. Ich hab einen Fehler im Code, denke sogar zu wissen wo, aber ich weiss nicht wie ich ihn behebe.
Ich habe mit dem Namensmanager Namen vergeben. Normalerweise sind die ja auf "Arbeitsmappe" eingestellt. Aber das hat den Nachteil, das es mit jeder Kopie eines Sheets auch automatisch eine Kopie dieser Namen gibt. Eine endlos lange Liste bei 50 neu erstellten Sheets.
Vor allem dann, wenn die eingestellten Namen nur relevant für die ersten 4 Sheets sind und niemals in der Kopierten verwendet werden.
Also hab ich die Namen auf die entsprechenden Arbeitsblätter fixiert.
Nun musste ich mein Makro entpsrechend anpassen. Das habe ich versucht, aber er stoppt bei der Schleife.
Sub yfertigDATEN()
'die Überschriften in STARTSEITE, LISTE, INFO und MASTER
'werden entsprechend der Vorgabe in DATEN angepasst.
Dim i As Integer
Dim Objekt As Range, Objekt1 As Range, Objekt2 As Range, Objekt3 As Range, Objekt4 As Range
Application.ScreenUpdating = False
Application.EnableEvents = False
Set Objekt = Worksheets("DATEN").Range("N_Objekt")
Set Objekt1 = Worksheets("Startseite").Range("N_Objekt1")
Set Objekt2 = Worksheets("LISTE").Range("N_Objekt2")
Set Objekt3 = Worksheets("INFO").Range("N_Objekt3")
Set Objekt4 = Worksheets("ARCHIV").Range("N_Objekt4")
Worksheets("DATEN").Range("N_Objekt").Copy
For i = 1 To 4
Range("Objekt" & i).PasteSpecial Paste:=xlPasteValues, Operation:= _
xlNone, _
SkipBlanks:=False, Transpose:=False
Next i
With Sheets("DATEN")
.Protect DrawingObjects:=True, Contents:=True, Scenarios:=True _
, AllowFiltering:=True, AllowUsingPivotTables:=True
.Visible = False
End With
Sheets("Startseite").Select
Application.ScreenUpdating = True
Application.EnableEvents = True
End Sub
Ich denke es liegt an dem "Range" weil beim ausführen würde dann ja stehen:Range(Worksheets("Startseite").Range("N_Objekt1") .....usw
Also dachte ich mir, das "Range" muss weg damit ein sinnvoller Code daraus entsteht aber das scheint nicht zu funktionieren.
Hat da jemand ein Tipp für mich? Oder eine Website mit einer guten Erklärung wie man mit dem Namensmanager und VBA in diesem Fall arbeitet.
Ich hab zunächst keine Datei angefügt, weil ich befürchte einen Flüchtigkeitsfehler (oder Unkenntnis) zu haben, hole das aber gerne nach, wenn der Bedarf besteht.
Liebe Grüße
Steve