Anzeige
Archiv - Navigation
1540to1544
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

Zeilen in definiert, variablem Bereich löschen

Zeilen in definiert, variablem Bereich löschen
13.02.2017 13:16:07
Tigerente
Hallo ihr VBA-Profis,
ich habe da wieder so ein kleines Problem, zu dem ich einfach noch nicht die passende Lösung hinbekommen habe.
Was möchste ich tun?
Ich habe eine Tabelle, in der oberhalb der Zeile 9 Daten stehen, die nicht gelöscht werden dürfen. Ebenfalls nicht gelöscht werden dürfen die vorletzte & letzte Zeile.
Mit dem nachfolgenden Code klappt es, dass bei Einzelauswahl einer Zeile die entsprechenden Randbedinungen (Zeile zum löschen > 9 und Wähle ich nun allerdings mehrere Zeilen/Zellen aus, die sogar in den "gesperrten" Bereich reingehen, dann werden diese Zeilen gelöscht.
Ich habe es auch schon mit Range-Definitionen versucht, aber irgendwie wollte es nicht so, wie ich.
Das Makro wird über einen Button ausgelöst, so dass sich die Definition der letzten Zeile doch erst nach dem Durchlauf des Makros ändern sollte. Oder liegt genau darin mein Fehler?
Sub ZeileLoeschen()
Dim zelle
Dim n, j As Integer
Dim mldg, Antwort As String
Dim stil
Dim AnzZei
Dim sourcerange, fillrange As Range
Dim vorletzteZeile, letzteZeile As Integer
Call BlattschutzAus
letzteZeile = ActiveSheet.Cells(1048576, 14).End(xlUp).Row
vorletzteZeile = letzteZeile - 1
mldg = ""
For Each zelle In Selection
n = zelle.Row
If n > 9 And n 
Vielen Dank für eure Hilfe!
Grüße,
Ulrike

6
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Zeilen in definiert, variablem Bereich löschen
13.02.2017 13:32:25
EtoPHG
Hallo Ulrike,
Mal als Ansatz, vereinfachter (vor dem LetzteZeile =!: ...Gedöns:
    Set sourcerange = Intersect(Selection.EntireRow, Range(Rows(10), _
Rows(Cells(Rows.Count, 14).End(xlUp).Row - 2)))
MsgBox "Gelöscht würden die Zeile(n): " & sourcerange.Address

Gruess Hansueli
AW: Zeilen in definiert, variablem Bereich löschen
13.02.2017 16:20:28
Tigerente
Hallo Hansueli,
vielen Dank für diesen Hinweis. Ich bin schon am versuchen, dies entsprechend einzubauen.
Ich werde Rückmeldung geben, wie mein Ergebnis ausfällt. :)
Grüße,
Ulrike
AW: Zeilen in definiert, variablem Bereich löschen
13.02.2017 17:48:55
Hajo_Zi
Hallo Ulrike,
warum offen? Soll jemand vorbei kommen?

Anzeige
AW: Zeilen in definiert, variablem Bereich löschen
14.02.2017 08:40:29
Tigerente
Hallo Hajo,
warum noch offen?
Ich bin davon ausgegangen, dass man einen Beitrag schließt, wenn das Problem GELÖST ist.
Wie ich geschrieben habe, teste ich es und melde mich dann wieder. Was ich hiermit übrigens tue.
Bisher funktioniert es noch nicht so, wie ich es mir vorgestellt habe, trotz des Hinweises.
Aber gut, ich suche anderweitig nach Unterstützung.
Hatte dieses Forum hier als gute Hilfestellung kennengelernt, wenn oft auch "nur" als Leser.
Schönen Tag noch!
Ulrike
...was funktioniert noch nicht ?
15.02.2017 08:05:42
EtoPHG
Hallo Ulrike,
Hajo hat manchmal eine etwas ungestüme Art. Einfach links liegen lassen ;-)
Du sagst: Bisher funktioniert es noch nicht so, wie ich es mir vorgestellt habe...
Das ist natürlich keine Fehlerbeschreibung, mit der Helfer was anfangen können. Du solltest Dich schon genauer äussern, oder noch besser eine Beispielmappe hochladen.
Mein Codeschnipsel war ein Denkanstoss, wie der Bereich gemäss deinen Randbedingungen _ eingegrenzt werden kann und der Ersatz der Msgbox ... durch

sourcerange.EntireRow.Delete
sollte eigentlich die gewünschten Zeilen löschen, ohne die 'Ränder' des Bereichs zu beeinflussen.
Gruess Hansueli
Anzeige
...was funktioniert noch nicht ?
15.02.2017 08:05:43
EtoPHG
Hallo Ulrike,
Hajo hat manchmal eine etwas ungestüme Art. Einfach links liegen lassen ;-)
Du sagst: Bisher funktioniert es noch nicht so, wie ich es mir vorgestellt habe...
Das ist natürlich keine Fehlerbeschreibung, mit der Helfer was anfangen können. Du solltest Dich schon genauer äussern, oder noch besser eine Beispielmappe hochladen.
Mein Codeschnipsel war ein Denkanstoss, wie der Bereich gemäss deinen Randbedingungen _ eingegrenzt werden kann und der Ersatz der Msgbox ... durch

sourcerange.EntireRow.Delete
sollte eigentlich die gewünschten Zeilen löschen, ohne die 'Ränder' des Bereichs zu beeinflussen.
Gruess Hansueli
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige