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.

Makro Sprung an erste leere Zeile
#1
Hallo,

habe folgendes (Teil)Makro:

Sub Bericht()
'
' Bericht Makro
' Springt in die erste freie Spalte im Blatt Bericht
'
' Tastenkombination: Strg+z
'
    Sheets("Übersicht Spiele").Select
    Range("A1").Select
    Selection.End(xlToRight).Select
    ActiveCell.Offset(0, 1).Select
    Sheets("Eingabe und Statistik").Select
    Range("E1:E10").Select
    Selection.Copy
    Sheets("Übersicht Spiele").Select
 
  Selection.PasteSpecial Paste:=xlPasteValuesAndNumberFormats, Operation:= _
        xlNone, SkipBlanks:=False, Transpose:=False
    Sheets("Eingabe und Statistik").Select
    Range("E1").Select
    Application.CutCopyMode = False

' Springt in die erste freie Zeile im Blatt Bericht
   
  Sheets("Listen Sätze").Select
   
    Range("A1").Select
    Selection.End(xlDown).Select
    ActiveCell.Offset(1, 0).Select
   
Sheets("Eingabe und Statistik").Select

Das interessante ist:


Der Sprung zur ersten leeren Spalte funktioniert.

Der Sprung zur ersten leeren Zeile funktioniert nicht. Also wenn die 2. Zeile leer ist, macht es was es soll.
Danach soll es einen kopierten Zellbereich in der ersten leeren Zeile einfügen.

Was es macht, ist, das es immer wieder ab Zeile 2 überschreibt.

Habe auch schon alle andere versucht: xlup aus der letzten Zeile, offset usw

Gruß
Daniel


Kreative Ideen?
Antworten Top
#2
Versuchs mal damit.


DIM last as Integer

last = ActiveSheet.Cells(Rows.Count, 1).End(xlUp).Row + 1


Gruß Frank
[-] Folgende(r) 1 Nutzer sagt Danke an FrankyHB für diesen Beitrag:
  • dzazopou
Antworten Top
#3
Hallo Daniel,

die kreativste Idee ist, dass du dich zuerst mal damit beschäftigst, wie du den ganzen Select-Teil weglassen kannst. Deine lange Prozedur lässt sich zu einem Dreizeiler verschlanken:
Code:
Sheets("Eingabe und Statistik").Range("E1:E10").Copy
Sheets("Übersicht Spiele").Cells(Z, S).PasteSpecial Paste:=xlPasteValuesAndNumberFormats
Application.CutCopyMode = False

Wobei ich hier für die Übersichtlichkeit die Zielzeile und Zielspalte durch Variablen ersetzt habe, die du zuvor wie folgt ermittelst:
Code:
Z = Sheets("Übersicht Spiele").Cells(Rows.Count, 1).End(xlUp).Row + 1
S = Sheets("Übersicht Spiele").Cells(1, Columns.Count).End(xlToLeft).Column + 1

Eleganterweise lässt sich das jetzt noch in eine With-Anweisung packen
Code:
With Sheets("Übersicht Spiele")
    Z = .Cells(Rows.Count, 1).End(xlUp).Row + 1
    S = .Cells(1, Columns.Count).End(xlToLeft).Column + 1
   
    Sheets("Eingabe und Statistik").Range("E1:E10").Copy
    .Cells(Z, S).PasteSpecial Paste:=xlPasteValuesAndNumberFormats
    Application.CutCopyMode = False
End With
Schaut doch gleich besser aus, oder?
Schöne Grüße
Berni
[-] Folgende(r) 1 Nutzer sagt Danke an MisterBurns für diesen Beitrag:
  • dzazopou
Antworten Top


Gehe zu:


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