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.

VBA: Sheet am Ende einfügen
#1
Hallo zusammen,

als relativer VBA-Neuling versuche ich mich gerade an ein paar eigenen Makros.

Als Basis nehme ich ein paar alte Makros da mir die Syntax von VBA eher unbekannt ist. Lesen klappt, abändern ebenfalls, aber selbst schreiben... da lerne ich gerade.

Nun habe ich ein relativ komplexes Makro welches mir zu einem gewissen Punkt Daten in Mappe A (Register "Fixkostenbericht") aktualisiert, dieses Blatt dann in Mappe B als neues Register einfügt, Daten in Mappe A aktualisiert, diese in Mappe B als neues Register einfügt,.... klassisches While.

Nun hänge ich allerdings beim Einfügen eines Registers. Vorweg: Alles funktioniert, nur werden die Register verkehrtherum angelegt. Statt von links nach rechts, werden die Register von rechts nach links eingefügt und ich weiß nicht warum.

Der Abschnitt vom Makro ist auch aus einem alten Makro entnommen und ich frage mich generell was der Aufbau mit "Register_Zähler_Ziel" eigentlich beweckt.

Dim Register_Zähler_Ziel
Register_Zähler_Ziel = 1

    Sheets("Fixkostenbericht").Copy After:=Workbooks(Dateiname & Zielendung).Sheets(Register_Zähler_Ziel)
    ActiveSheet.Name = Kostenstelle

Register_Zähler_Ziel = Register_Zähler_Ziel + 1

Kann mir einer auf die schnelle sagen wo mein Fehler liegt?
Antworten Top
#2
Hallo,

Code:
With Workbooks(Dateiname & Zielendung)
  Sheets("Fixkostenbericht").Copy After:=.Sheets(.Sheets.Count)
End With

Gruß, Uwe
Antworten Top
#3
Hi,

wo genau soll das neue Blatt auftauchen? Immer ganz rechts? Dann so:
Code:
Sheets("Fixkostenbericht").Copy After:=Sheets(Sheets.Count)
Die Position kannst du natürlich beliebig variieren indem du statt der aktuellen Blattzahl (Sheets.Count) irgendeine andere (kleinere) Zahl oder einen Blattnamen (in Anführungszeichen) eingibst.

Übrigens gibt es außer After:= auch noch Before:=, dann wird das Blatt vor dem angegebenen Blatt eingefügt.

Solche "Kleinigkeiten" bekommt man am schnellsten raus, wenn man F1 drückt während der Cursor auf oder direkt hinter dem Befehl (hier ".Copy") steht.
Gruß,
Helmut

Win10 - Office365 / MacOS - Office365
Antworten Top
#4
Oh man... solche Kleinigkeiten.

Alles klar, ich weiß Bescheid. Auch danke für den F1-Tipp
Antworten Top


Gehe zu:


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