Office: VBA: Keine neue Zeile einsetzen, sondern nächste nehmen

Helfe beim Thema VBA: Keine neue Zeile einsetzen, sondern nächste nehmen in Microsoft Excel Hilfe um das Problem gemeinsam zu lösen; Hallo :) Ich möchte gerne von einem Tabellenblatt ins andere kopieren. Das solle eine Art Archiv-Funktion werden. Das heißt, aus bestimmten Zellen in... Dieses Thema im Forum "Microsoft Excel Hilfe" wurde erstellt von PWeide, 27. Januar 2014.

  1. PWeide User

    VBA: Keine neue Zeile einsetzen, sondern nächste nehmen


    Hallo :)

    Ich möchte gerne von einem Tabellenblatt ins andere kopieren. Das solle eine Art Archiv-Funktion werden. Das heißt, aus bestimmten Zellen in Blatt A sollen die Daten in bestimmte Zellen in Blatt B kopiert werden.
    Hier was ich dazu irgendwie zusammengebaut habe: (stammt nicht von mir, da ich wirklich ziemlich unfähig bin was VBA angeht):


    Sub Schaltfläche27_KlickenSieAuf()
    Dim wksQuelle As Worksheet
    Dim wksZiel As Worksheet
    Dim Lz As Long

    Set wksQuelle = Workbooks("Reisewunschtabelle.xlsm") _
    .Worksheets("UMF I")
    Set wksZiel = Workbooks("Reisewunschtabelle.xlsm") _
    .Worksheets("Archiv")


    Lz = wksZiel.Cells(Rows.Count, 1).End(xlUp).Row

    wksZiel.Rows(Lz).Insert

    wksZiel.Range("B15").Value = wksQuelle.Range("F9").Value



    End Sub


    Nun ist es aber so, dass er durch den "insert" Befehl Zeilen einfügt. Das möchte ich aber nicht. Ich habe auf dem Archiv-Blatt eine Tabelle, die ich gerne befüllen möchte. Also sollte er prüfen ob in der aktuellen Zelle was steht. Gibt es dafür eine art "next" Befehl?

    Um das ganze verständlicher zu machen: Ich habe in Tabelle A Zellen die ich Archivieren möchte. D.h. ich möchte diese Zellen in Tabellenblatt B in eine Tabelle packen. Konkret sind das Reisewunsch-Formulare, die ich aber auch immer wieder löschen möchte. Wenn ich dann weiterhin auf Archivieren klicke, soll er den neu angelegten Datensatz in der Tabelle auf Tabellenblatt B unter dem letzten Eintrag einfügen. Ahhh ich hoffe, es ist irgendwie deutlich geworden!

    Vielen Dank schon mal

    LG
    Patrick
     
  2. Beverly
    Beverly Erfahrener User
    Hi Patrick,

    so ganz verstehe ich deine Frage nicht. Weshalb fügst du eine neue Zeile ein und überträgst immer in B15? Würde es nicht ausreichen, wenn du den Inhalt einfach in die nächste freie Zelle überträgst? Also nach diesem Prinzip:

    Code:
    Lz = wksZiel.Cells(Rows.Count, 1).End(xlUp).Row + 1
    wksZiel.Cells(Lz, 2).Value = wksQuelle.Range("F9").Value
    Bis später,
    Karin
     
    Beverly, 27. Januar 2014
    #2
  3. PWeide User
    Ja im Prinzip hast du vollkommen recht. Wie definiere ich denn jetzt die Start-Zelle? Also meine Tabelle fängt zum beispiel in F23 an und von da aus sollen die Zeilen nach unten gefüllt werden.
     
  4. Beverly
    Beverly Erfahrener User

    VBA: Keine neue Zeile einsetzen, sondern nächste nehmen

    Verwende eine If-Anweisung nach diesem Prinzip:

    Code:
    Lz = wksZiel.Cells(Rows.Count, 1).End(xlUp).Row + 1
    If Lz < 23 then Lz = 23
    
    Bis später,
    Karin
     
    Beverly, 28. Januar 2014
    #4
  5. PWeide User
    Erstmal: Danke :) Ich weiß ich bin ein schwieriger Fall.

    Das Problem was ich jetzt habe, er befüllt die Zelle F23. Super! Aber leider danach keine weitere...Er soll halt fortlaufend bei Klicken des Buttons eine Zeile runter rutschen und den aktuellen Inhalt einfügen...
    Also ich könnte mir eine Prüfung vorstellen die die Zelle F23 und alle danach auf Inhalt prüft und wenn welcher vorhanden ist, eine Zelle weiter springt.
     
    Zuletzt bearbeitet: 28. Januar 2014
  6. Beverly
    Beverly Erfahrener User
    Du hast schon bemerkt, dass du die letzte belegte Zeile in Spalte A ermittelst aber in Spalte B einträgst? Wenn Spalte A nach wie vor leer bleibt, ist Lz natürlich immer kleiner 23 und der Wert wird stets in B23 eingetragen.

    Bis später,
    Karin
     
    Beverly, 28. Januar 2014
    #6
  7. PWeide User
    Ok super, ich bin so ein Laie was das angeht!
    Sorry! Jetzt habe ich es.
     
Thema:

VBA: Keine neue Zeile einsetzen, sondern nächste nehmen

Die Seite wird geladen...
  1. VBA: Keine neue Zeile einsetzen, sondern nächste nehmen - Similar Threads - VBA Zeile einsetzen

  2. VBA in einer Zeile zu lang

    in Microsoft Excel Hilfe
    VBA in einer Zeile zu lang: Moin, mein VBA Code ist für eine Zeile zu lang. Kann mir einer helfen wie ich den auf 2 Zeilen aufteilen Kann? arrSchuhDaten = Array(Range("A6"), Range("F6"), Range("J6"), Range("A7"),...
  3. VBA: Platzhalter ersetzen und evtl. leere Zeile einfügen

    in Microsoft Word Hilfe
    VBA: Platzhalter ersetzen und evtl. leere Zeile einfügen: Hallo zusammen, ich habe eine Word-Vorlage mit Platzhaltern, in die ich mit VBA Daten aus einer Excel-Datei einfüge (in eine Excel-Zeile schreibe ich alle Daten für ein neues Word-Dokument). So...
  4. VBA Auslesen von Strings und erstellen neuer Zeilen in einer Tabelle

    in Microsoft Excel Hilfe
    VBA Auslesen von Strings und erstellen neuer Zeilen in einer Tabelle: Guten Tag zusammen In der 1. Spalte stehen KundenIDs (jeweils 2 Buchstaben), separiert mit einem Komma. Beispielsweise: ag,ok,be,li,ce In der 2. bis 15. Spalte stehen dann diverse Eigenschaften,...
  5. Per VBA Zeilen einfügen und danach in diese Texte kopieren

    in Microsoft Excel Hilfe
    Per VBA Zeilen einfügen und danach in diese Texte kopieren: Hallo zusammen, ich möchte im 1. Schritt via VBA-Code eine bestimmte, variable Anzahl Zeilen (der Wert wird immer im Reiter "Data" in der Zelle S32 ermittelt) in einem anderen Reiter namens...
  6. VBA Code für Zeilen ausblenden einblenden mit JA/Nein

    in Microsoft Excel Hilfe
    VBA Code für Zeilen ausblenden einblenden mit JA/Nein: Hallo, habe eine Exceltabelle, bei der ich bei einer Zelle eine Ja/Nein abfrage mache, wenn in der Zelle Nein steht, dann soll ein bestimmter Zeilenbereich, den ich definieren möchte, ausgeblendet...
  7. Zellen aus Aktiver Zeile kopieren

    in Microsoft Excel Hilfe
    Zellen aus Aktiver Zeile kopieren: Hallo zusammen, im Grunde genommen ist es wohl ganz einfach … ich weiss es aber trotzdem nicht wie es in VBA umsetze. Ich will aus einer „Aktiven Reihe“ (diese wähle ich vorher über einen...
  8. VBA Zeilen kopieren mit Bedingung

    in Microsoft Excel Hilfe
    VBA Zeilen kopieren mit Bedingung: Hallo zusammen, Ich möchte per Makro Zeilen aus Tabelle2 in Tabelle3 kopieren, wenn eine Bedingung erfüllt ist. Bedingung: Der Wert in Spalte E (Tabelle2) kommt in Tabelle1 in Spalte E vor....
  1. Diese Seite verwendet Cookies, um Inhalte zu personalisieren, diese deiner Erfahrung anzupassen und dich nach der Registrierung angemeldet zu halten.
    Auf dieser Website werden Cookies für die Zugriffsanalyse und Anzeigenmessung verwendet.
    Wenn du dich weiterhin auf dieser Seite aufhältst, akzeptierst du unseren Einsatz von Cookies.
    Information ausblenden