Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender

Forumthread: VBA UserForm neue Zeile unterhalb einfügen

VBA UserForm neue Zeile unterhalb einfügen
24.06.2019 15:26:02
Andreas
Hallo Exelfreunde
habe die Datei mal hochgeladen.
https://www.herber.de/bbs/user/130564.xlsm
Problembeschreibung habe ich im Tabellenblatt auch dokumentiert um was es mir bei der Hilfestellung geht.
Ich möchte über eine UserForm (frmBauwerke) welche ich über die Schaltfläche im Tabellenblatt "Anwendung" aufrufe einen Datensatz auswählen. Jetzt soll ein Datensatz aus der Liste ausgewählt werden. Anhand der Datensatznummer soll nun über eine Schaltfläche "Neue Zeile" unterhalb dieses ausgewählen Datensatzes eine neue Zeile unterhalb im Tabellenblatt "Erfassung_Bearbeitung" eingefügt werden. Dabei sollen alle Formatierungen und Formeln der obigen Zeile mit nach unten kopiert (übernommen werden)Schwierigkeit für mich ist auch das dabei eine neue Datensatznummer mit übergeben wird.
Meine Idee dabei wäre in Spalte A dafür die Zeilennummer mit einer Formel zu verwenden.
Wäre sehr dankbar wenn mir einer von Euch dafür eine Lösung nennen kann, oder das in meine bestehende Datei einarbeiten kann.
Ich stehe echt seit Tagen auf dem Schlauch und komme einfach nicht mehr weiter.
Vielen Dank für Eure Bemühungen im vorraus
Gruß Andreas
Anzeige

2
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: VBA UserForm neue Zeile unterhalb einfügen
24.06.2019 16:50:56
Luschi
Hallo Andreas,
füge am Anfang der Listbox eine weitere Spalte ein, die zur Kontrolle eine Breite von '25' hat und wenn alles funktioniert auf '0' gestellt wird.
Diese Spalte erhält die Zeilennummer von c, also c.Row.
Mit der folgenden Routine kann dann ganz einfach die neue Tabellenzeile eingefügt werden (mit Ü _ bernahme der Zellformatierungen):

Private Sub CommandButton12_Click()
Dim a As Long, b As Long
a = Me.ListBox1.ListIndex
b = (Me.ListBox1.List(a, 0) * 1) + 1   'Zeilennummer + 1
'Debug.Print b
Tabelle29.Rows(b & ":" & b).Insert Shift:=xlDown, CopyOrigin:=xlFormatFromLeftOrAbove
End Sub
Gruß von Luschi
aus klein-Paris
Anzeige
AW: VBA UserForm neue Zeile unterhalb einfügen
24.06.2019 19:58:28
Andreas
Hallo Luschi,
habe jetzt versucht deine Lösung umzusetzen. Es wird zwar eine Zeile eingefügt, jedoch aber oberhalb. Es sollte die Zeile jedoch unter den gewählten Datensatz eingefügt werden.
Die eingefügte Zeile wird mir auch nicht in der ListBox danach angezeigt.
es soll eigentlich erreicht werden wenn ich eine neue Zeile eingefügt habe das sie dann durch neue Eingaben in den TextBoxen der UserForm mit der Schaltfläche geänderte Daten eintragen in das Tabellenblatt an dieser Stelle eingetragen werden.
Kannst du dir das bitte nochmals anschauen?
Oder hat jemand hier im Forum eine andere Lösung?
nochmals Danke
Anzeige
;

Forumthreads zu verwandten Themen

Anzeige
Entdecke relevante Threads

Schau dir verwandte Threads basierend auf dem aktuellen Thema an

Alle relevanten Threads mit Inhaltsvorschau entdecken
Anzeige
Anzeige

Infobox / Tutorial

VBA UserForm: Neue Zeile unterhalb einfügen


Schritt-für-Schritt-Anleitung

Um eine neue Zeile unterhalb eines ausgewählten Datensatzes in Excel über eine VBA UserForm einzufügen, folge diesen Schritten:

  1. UserForm erstellen: Erstelle eine UserForm in Excel mit einer ListBox, um die Datensätze anzuzeigen.

  2. Spalte für Zeilennummer hinzufügen: Füge der ListBox eine zusätzliche unsichtbare Spalte hinzu, die die Zeilennummer speichert.

  3. VBA-Code einfügen: Verwende den folgenden VBA-Code, um die neue Zeile unterhalb der ausgewählten Zeile einzufügen:

    Private Sub CommandButton12_Click()
       Dim a As Long, b As Long
       a = Me.ListBox1.ListIndex
       b = (Me.ListBox1.List(a, 0) * 1) + 1   'Zeilennummer + 1
       Tabelle29.Rows(b & ":" & b).Insert Shift:=xlDown, CopyOrigin:=xlFormatFromLeftOrAbove
    End Sub
  4. Überprüfung: Stelle sicher, dass die ListBox die korrekte Zeilennummer anzeigt und dass die neue Zeile auch in der UserForm aktualisiert wird.


Häufige Fehler und Lösungen

  • Fehler: Die neue Zeile wird oberhalb statt unterhalb eingefügt.

    • Lösung: Überprüfe den Code und stelle sicher, dass die Zeilennummer korrekt berechnet wird. Achte darauf, dass du b + 1 verwendest, um die Zeile unterhalb der ausgewählten Zeile zu platzieren.
  • Fehler: Die eingefügte Zeile wird nicht in der ListBox angezeigt.

    • Lösung: Nach dem Einfügen der Zeile solltest du die ListBox aktualisieren, indem du die Daten erneut lädst.

Alternative Methoden

Falls du keine VBA-Lösung nutzen möchtest, kannst du auch die eingebaute Excel-Funktionalität verwenden:

  • Excel-Tastenkombination: Wähle die Zeile aus, unter der du eine neue Zeile einfügen möchtest, und drücke Strg + Shift + +, um eine neue Zeile darunter einzufügen.
  • Rechtsklick: Klicke mit der rechten Maustaste auf die Zeilennummer und wähle „Zeile einfügen“ aus dem Kontextmenü.

Praktische Beispiele

  1. Einfügen einer Zeile mit VBA: Stelle dir vor, du hast eine Tabelle mit Datensätzen und möchtest eine neue Zeile für einen neuen Datensatz unter dem aktuell ausgewählten Datensatz einfügen. Mit dem oben genannten VBA-Code kannst du dies automatisieren.

  2. Excel-Funktion verwenden: Wenn du beispielsweise eine Zeile unterhalb der Zeile mit den Kundeninformationen einfügen möchtest, kannst du dies einfach tun, indem du die Zeile auswählst und die oben genannten Methoden anwendest.


Tipps für Profis

  • Formelübernahme: Stelle sicher, dass beim Einfügen der Zeile auch die Formatierungen und Formeln übernommen werden, indem du CopyOrigin:=xlFormatFromLeftOrAbove im VBA-Code verwendest.
  • Dynamische ListBox: Aktualisiere die ListBox nach jeder Einfügung, damit die Benutzer sofort Änderungen sehen können.
  • Fehlerbehandlung: Implementiere eine Fehlerbehandlung im VBA-Code, um unerwartete Probleme beim Einfügen der Zeilen zu vermeiden.

FAQ: Häufige Fragen

1. Wie kann ich eine Zeile unterhalb einer bestimmten Zeile einfügen?
Du kannst dies mit VBA tun, indem du die Zeilennummer ermittelst und dann den entsprechenden Code verwendest, um die neue Zeile unterhalb einzufügen.

2. Gibt es eine Tastenkombination zum Einfügen einer Zeile in Excel?
Ja, du kannst Strg + Shift + + verwenden, um schnell eine neue Zeile unterhalb der ausgewählten Zeile einzufügen.

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige