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.

Zeilen Löschen basierend auf Combobox Auswahl
#1
Hallo Zusammen,

Ich stehe vor folgendem Problem:

Ich habe mehrere identische Tabellen mit jeweils 14 Zeilen.
Diese Tabellen können an mehreren Stellen im Tabellenblatt angelegt sein.

Also bspw. von Zeile 3-16; 20-34, etc. Hier gibt es kein Muster.

Die einzige Unterscheidung der Tabellen befindet sich in der jeweils zweiten Zeile der jeweiligen Tabelle. Der Inhalt dieser "einzigartigen" Zelle kann variieren.

Über eine Combobox in einer Userform kann ich bereits diesen spezifischen Wert auswählen.

Was ich brauchen würde:

Mein Wunsch wäre nun, dass ich anhand der Combobox Auswahl, im Tabellenblatt "Übersicht" immer die Zeilen Löschen kann, die sich zwischen sowohl 1 über und 12 Zeilen unterhalb der Zeile mit dem "einizigartigen" Inhalt befindet.

Also bspw. die Zeilen 3-16; wobei sich in zeile 4 der "einzigartige" Inhalt befindet, welchen man über die Combobox bestimmt hat.

Ich könnte niemals diesen Code schreiben, aber von der Logik her wäre er MmN so:

Wenn Combobox Auswahl = X; Dann finde "X" in Tabellenblatt "Übersicht".Spalte A und lösche alle Zeilen 1 über "X"; Zeile mit "X" und 12 Zeilen unter X.



Ich würde mich freuen, wenn soetwas möglich wäre und Danke schon einmal für den Support :)

PS: Ich weis, dass es hilfreich wäre, wenn ich das Dokument hochladen würde, da es aber voller Arbeitsinterna ist würde ich darauf gerade nur ungern zurückgreifen wollen. Sollte es notwendig sein, werde ich eine Möglichkeit finden.

Danke!
Antworten Top
#2
Hallo,


Zitat:Sollte es notwendig sein, werde ich eine Möglichkeit finden.


mach das.
Viele Grüße
Klaus-Dieter
Der Erfolg hat viele Väter, 
der Misserfolg ist ein Waisenkind
Richard Cobden
Antworten Top
#3
Hallo,

Code:
Private Sub CommandButton1_Click()
Dim raFund As Range

If Me.ComboBox1.ListIndex > -1 Then
    For Each ws In ThisWorkbook.Worksheets
        With ws
            Set raFund = .Columns("A").Find(what:=Me.ComboBox1, LookIn:=xlValues, lookat:=xlWhole)
            If Not raFund Is Nothing Then
                .Range("A" & raFund.Offset(-1).Row & ":A" & raFund.Offset(12).Row).EntireRow.Delete
            End If
        End With
    Next ws
End If
       
Set raFund = Nothing
End Sub

Achtung: Sollte dein "Suchbegriff" in irgendeinem Blatt in Zeile 1 stehen, dann läuft der Code in einen Fehler.

Gruß Werner
[-] Folgende(r) 1 Nutzer sagt Danke an Werner.M für diesen Beitrag:
  • Tobias_S
Antworten Top
#4
Lieber Werner,

vielen Dank - Deine Lösung funktioniert bereits perfekt!

Lieber Klaus-Dieter, dir auch vielen Dank für deine Unterstützung.

Beste Grüße
Tobias
Antworten Top


Gehe zu:


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