Live-Forum - Die aktuellen Beiträge
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Wenn Zellen belegt, dann neue Zeile einfügen!

Forumthread: Wenn Zellen belegt, dann neue Zeile einfügen!

Wenn Zellen belegt, dann neue Zeile einfügen!
02.06.2003 14:06:02
Chris

Hallo zusammen,

habe ein Problem! Und zwar möchte ich, wenn Zelle A5 gefüllt wird, dass eine neue Zeile hinzugefügt wird! Wenn dann A6 gefüllt ist, dann soll wieder eine neue Zeile hinzugefügt werden, usw.

Wenn in A6 nichts steht, dann soll eine Zeile wieder gelöscht werden.

Ziel: Eine variable Tabelle, die sich anhand meiner Eingabedaten verändert!

Mein Makro bis jetzt:

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
'If Range("a5") Is Nothing Then
If Range("A5") = "" Then
GoTo ende0
Else
Selection.EntireRow.Insert
ende0:
End Sub

Was hierbei nicht funktioniert

Wenn ich in Zeile A5 was eintrage, dann fügt er mir eine Zelle hinzu! Fahre ich mit dem Cursor hoch, dann fügt er mir immer eine neue Zeile hinzu!

Kann mir vielleich jemand mein bisheriges Makro vervollständigen!?

Danke schön!

LG Chris


Anzeige

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

Betreff
Datum
Anwender
Anzeige
Re: Wenn Zellen belegt, dann neue Zeile einfügen!
02.06.2003 14:40:32
Kurt

Versuch mal hier mit

Private Sub Worksheet_Change(ByVal Target As Excel.Range)
If Target <> "" Then
Selection.EntireRow.Insert
GoTo ende0
Else
Selection.EntireRow.Delete
End If
ende0:

mfg. Kurt
End Sub


Re: Wenn Zellen belegt, dann neue Zeile einfügen!
02.06.2003 14:48:26
Chris

Genial, es funktioniert!

Nur noch ne kleine andere Frage!

Ich habe einen Rahmen herum! Gibt es noch ne Möglichkeit, vielleicht mit dem gleichen Format zu erweitern!? Oder geht das nicht!?

LG Chris

Anzeige
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Anzeige
Anzeige
Entdecke relevante Threads

Schau dir verwandte Threads basierend auf dem aktuellen Thema an

Alle relevanten Threads mit Inhaltsvorschau entdecken
Anzeige

Infobox / Tutorial

Dynamisches Einfügen und Löschen von Zeilen in Excel


Schritt-für-Schritt-Anleitung

Um dynamisch eine neue Zeile in Excel einzufügen, wenn eine Zelle belegt wird, kannst du ein VBA-Makro verwenden. Hier sind die Schritte, die du befolgen solltest:

  1. Öffne Excel und die Arbeitsmappe, in der du das Makro einsetzen möchtest.

  2. Drücke Alt + F11, um den VBA-Editor zu öffnen.

  3. Wähle das Arbeitsblatt aus, für das du das Makro erstellen möchtest.

  4. Füge den folgenden Code in das Codefenster ein:

    Private Sub Worksheet_Change(ByVal Target As Range)
        If Target.Address = "$A$5" Then
            If Target.Value <> "" Then
                Target.Offset(1, 0).EntireRow.Insert
            Else
                If Range("A6").Value = "" Then
                    Range("A6").EntireRow.Delete
                End If
            End If
        End If
    End Sub
  5. Schließe den VBA-Editor und kehre zurück zu Excel.

  6. Teste das Makro, indem du einen Wert in Zelle A5 eingibst. Eine neue Zeile sollte automatisch eingefügt werden.


Häufige Fehler und Lösungen

  • Problem: Das Makro fügt beim Cursorwechsel immer eine neue Zeile hinzu.

    • Lösung: Stelle sicher, dass du den richtigen Event-Handler (Worksheet_Change) verwendest, anstatt Worksheet_SelectionChange.
  • Problem: Es wird keine Zeile gelöscht, wenn A6 leer ist.

    • Lösung: Überprüfe, ob die Bedingung für das Löschen korrekt implementiert ist. Achte darauf, dass das Ziel (Target) richtig adressiert wird.

Alternative Methoden

Wenn du keine VBA-Makros verwenden möchtest, kannst du auch Excel-Formeln und die Funktion "Tabelle" nutzen, um deine Daten dynamisch zu verwalten. Hierbei wird die Tabelle automatisch erweitert, wenn du neue Daten hinzufügst.

Um eine Tabelle zu erstellen:

  1. Markiere den Bereich deiner Daten.
  2. Gehe zu Einfügen > Tabelle.
  3. Aktiviere die Option "Tabelle hat Überschriften".

Praktische Beispiele

Angenommen, du hast eine Liste von Aufgaben in Spalte A. Wenn du eine neue Aufgabe in A5 hinzufügst, wird automatisch eine neue Zeile für die nächste Aufgabe in A6 erstellt. Wenn du A6 leer lässt, wird diese Zeile gelöscht.

Füge einfach den oben genannten VBA-Code in den entsprechenden Arbeitsblattcode ein, um diese Funktionalität zu aktivieren.


Tipps für Profis

  • Verwende Target.Offset(x, y), um gezielt Zellen relativ zur bearbeiteten Zelle anzusprechen.
  • Du kannst das Makro so anpassen, dass es auf mehrere Zellen gleichzeitig reagiert, indem du die If-Bedingung entsprechend erweiterst.
  • Denke daran, deine Arbeitsmappe regelmäßig zu speichern, insbesondere wenn du mit VBA arbeitest, um Datenverlust zu vermeiden.

FAQ: Häufige Fragen

1. Ist VBA in allen Excel-Versionen verfügbar?
Ja, VBA ist in den meisten Excel-Versionen verfügbar, jedoch kann die spezifische Implementierung leicht variieren.

2. Kann ich das Makro für mehrere Spalten anpassen?
Ja, du kannst den Code leicht anpassen, um auch für andere Spalten zu funktionieren, indem du die entsprechenden Zelladressen im Code änderst.

3. Was mache ich, wenn das Makro nicht funktioniert?
Überprüfe den Code auf Syntaxfehler und stelle sicher, dass die Makros in deiner Excel-Installation aktiviert sind.

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