Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1080to1084
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Zeile löschen mit Bedingung

Zeile löschen mit Bedingung
20.06.2009 19:10:07
DieterL
Hallo Excelfreunde,
ich habe im Tabellenblatt "Daten" in Spalte C einen dynamischen Bereich mit dem Namen "Liste".
Im Tabellenblatt "Datenblatt" wird in Zelle C6 dieser Bereich über "Gültigkeit" wiedergegeben.
Wenn ich jetzt aus dieser Liste einen Eintrag ausgewählt habe, möchte ich mit Klick auf einen CommandButton die Zeile im Tabellenblatt "Daten" löschen in der dieser Wert steht.
Ich hoffe, das ich mich verständlich ausgedrückt habe und das jemand eine Lösung hat.
Gruß, DieterL

4
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Zeile löschen mit Bedingung
20.06.2009 19:26:22
Josef
Hallo Dieter,
Sub loescheEintrag()
  Dim varResult As Variant
  
  With Sheets("Daten")
    varResult = Application.Match(Sheets("Datenblatt").Range("C6"), .Range("Liste"), 0)
    If IsNumeric(varResult) Then .Range("Liste").Cells(varResult, 1).Delete
  End With
End Sub

Wenn dein Bereich "Liste" in der ersten Zeile beginnt, dann zerschiesst es dir möglicherweise
den Bezug, wenn du den ersten Eintrag löscht. Das kann man mit INDIREKT() verhindern.

=BEREICH.VERSCHIEBEN(INDIREKT("Daten!C1");;;ANZAHL2(Daten!$C:$C))


Gruß Sepp

Anzeige
AW: Zeile löschen mit Bedingung
20.06.2009 19:39:15
DieterL
Hallo Sepp,
Deine Lösung funktioniert nur bedingt, es wird die entsprechende Zelle aus dem Bereich "Liste" gelöscht und der restliche Inhalt der Zeile nach links verschoben. Ich möchte aber die komplette Zeile gelöscht haben.
Gruß, DieterL
AW: Zeile löschen mit Bedingung
20.06.2009 19:48:56
Josef
Hallo Dieter,
kein Problem.
Sub loescheEintrag()
  Dim varResult As Variant
  
  With Sheets("Daten")
    varResult = Application.Match(Sheets("Datenblatt").Range("C6"), .Range("Liste"), 0)
    If IsNumeric(varResult) Then .Range("Liste").Cells(varResult, 1).EntireRow.Delete
  End With
End Sub

Gruß Sepp

Anzeige
Das war die Lösung
20.06.2009 19:53:15
DieterL
Hallo Sepp,
das war die Lösung. Vielen Dank!!
Gruß, DieterL

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige