Live-Forum - Die aktuellen Beiträge
Datum
Titel
29.03.2024 13:14:12
28.03.2024 21:12:36
28.03.2024 18:31:49
Anzeige
Archiv - Navigation
312to316
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
312to316
312to316
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Letzte Zeile mit bestimmten Bereichen löschen

Letzte Zeile mit bestimmten Bereichen löschen
21.09.2003 14:32:30
Silvia
Hallo Excelgemeinde,
ich habe folgenden Code, für den ich bei
der Anpassung Unterstützung benötige:


Sub LetzteZeileLöschen()
Dim A As String
Worksheets("Firmenliste").Activate
Sheets("Firmenliste").Unprotect ("123")
Sheets("Firmenliste").Protect UserInterfaceOnly:=True
A = MsgBox("Wollen Sie die letzte Zeile wirklich löschen?", vbYesNo + vbDefaultButton2)
If A = vbNo Then Exit Sub
Cells(Rows.Count, 1).End (xlUp) `<- hier muß jetzt noch die Range-Anweisung kommen
'für die Zellen B:I und K:L
'anschließend löschen
End Sub


Danke für Eure Mithilfe
Gruß Silvia

9
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Letzte Zeile mit bestimmten Bereichen löschen
21.09.2003 14:43:58
Christoph
Hi Silvia,
meinst du so:


Sub LetzteZeileLöschen()
Dim A As String
Dim lRow As Integer
lRow = Cells(Rows.Count, 1).End(xlUp).Row
Worksheets("Firmenliste").Activate
Sheets("Firmenliste").Unprotect ("123")
Sheets("Firmenliste").Protect UserInterfaceOnly:=True
A = MsgBox("Wollen Sie die letzte Zeile wirklich löschen?", vbYesNo + vbDefaultButton2)
If A = vbNo Then Exit Sub
Else
Range(Cells(lRow, 2), Cells(lRow, 9)).ClearContents
Range(Cells(lRow, 11), Cells(lRow, 13)).ClearContents
End If
End Sub


Gruß
Christoph
sorry, war ein Fehler drin
21.09.2003 14:54:47
Christoph
Hi Silvia,
das Else und End if muss natürlich weg.
ausserdem ist die Spalte L die 12. Spalte und nicht die 13.
also:

Sub LetzteZeileLöschen()
Dim A As String
Dim lRow As Integer
lRow = Cells(Rows.Count, 1).End(xlUp).Row
Worksheets("Firmenliste").Activate
Sheets("Firmenliste").Unprotect ("123")
Sheets("Firmenliste").Protect UserInterfaceOnly:=True
A = MsgBox("Wollen Sie die letzte Zeile wirklich löschen?", vbYesNo + vbDefaultButton2)
If A = vbNo Then Exit Sub
Range(Cells(lRow, 2), Cells(lRow, 9)).ClearContents
Range(Cells(lRow, 11), Cells(lRow, 12)).ClearContents
End Sub

Gruß
Christoph
Anzeige
AW: Letzte Zeile mit bestimmten Bereichen löschen
21.09.2003 14:49:07
Hajo_Zi
Hallo Silvia

mal ohne Activate


Sub LetzteZeileLöschen()
Dim A As String
Dim Loletzte As Long
With Worksheets("Firmenliste")
.Unprotect ("123")
A = MsgBox("Wollen Sie die letzte Zeile wirklich löschen?", vbYesNo + vbDefaultButton2)
If A = vbYes Then
Loletzte = .UsedRange.SpecialCells(xlCellTypeLastCell).Row
.Range(.Cells(Loletzte, 2), .Cells(Loletzte, 8)).ClearContents
.Range(.Cells(Loletzte, 11), .Cells(Loletzte, 12)).ClearContents
'für die Zellen B:I und K:L
End If
.Protect ("123")
End With
End Sub



Falls Code vorhanden wurde dieser getestet unter Betriebssystem XP Pro und Excel Version XP SBE.
Bitte kein Mail, Probleme sollen im Forum gelöst werden.

Microsoft MVP für Excel

Das Forum lebt auch von den Rückmeldungen.

Zurzeit gibt es wieder Probleme mit der E-Mail Benachrichtigung.

Ich bekomme Mails zu Beiträgen an denen ich nicht beteiligt bin und zusätzlich noch Mails zu meinen eigenen Beiträgen.
Das Problem mit den eigenen Benachrichtigung kann gelöst werden durch Lösche und Neuanmelden. Dieses möchte ich aber nicht jeden Tag machen.
Um dieses Problem erstmal zu beseitigen habe ich die automatische Mailbenachrichtigung abgeschaltet.
Aus diesem Grunde ist es dem Zufall überlassen ob auf Rückfragen Antworten von mir kommen.


http://home.media-n.de/ziplies/

Anzeige
Nachtrag
21.09.2003 18:40:47
Silvia
Hallo Exceluser,
liebe Helfer,
erst einmal vielen Dank für Eure Unterstützung.

Bei der Umsetzung ist mir mir etwas aufgefallen, das ich vorher übersehen hatte.
Es befinden sich bereits Formelfelder in der Tabelle, die leider als letzte Pos.
gefunden und entsprechend auch, nach meinen bisherigen Angaben, richtigerweise gelöscht werden. Also muß ich mich korrigieren.
Vielleicht könnt Ihr mich nochmal unterstützen.
Also Code wie bisher, aber gesucht wird nicht die letzte Zeile, sondern der letzte
Zelleintrag der Spalte A, der Rest bleibt wie in den Helferbeiträgen dargestellt.
Ich finde beide Vorschläge sehr gut, daher könnt Ihr Euch einen zur Anpassung aussuchen.
Viele herzliche Grüße
Silvia

Hajo`s Vorschlag:


Sub LetzteZeileLöschen()
Dim A As String
Dim Loletzte As Long
With Worksheets("Firmenliste")
.Unprotect ("123")
A = MsgBox("Wollen Sie die letzte Zeile wirklich löschen?", vbYesNo + vbDefaultButton2)
If A = vbYes Then
Loletzte = .UsedRange.SpecialCells(xlCellTypeLastCell).Row '<-Ersetzen durch Letzte Eintragung in der Spalte A
.Range(.Cells(Loletzte, 2), .Cells(Loletzte, 8)).ClearContents
.Range(.Cells(Loletzte, 11), .Cells(Loletzte, 12)).ClearContents
'für die Zellen B:I und K:L
End If
.Protect ("123")
End With
End Sub


Oder Christop`s Vorschlag:


Sub LetzteZeileLöschen()
Dim A As String
Dim lRow As Integer
lRow = Cells(Rows.Count, 1).End(xlUp).Row '<-Ersetzen durch Letzte Eintragung in der Spalte A
Worksheets("Firmenliste").Activate
Sheets("Firmenliste").Unprotect ("123")
Sheets("Firmenliste").Protect UserInterfaceOnly:=True
A = MsgBox("Wollen Sie die letzte Zeile wirklich löschen?", vbYesNo + vbDefaultButton2)
If A = vbNo Then Exit Sub
Range(Cells(lRow, 2), Cells(lRow, 9)).ClearContents
Range(Cells(lRow, 11), Cells(lRow, 12)).ClearContents
End Sub

Anzeige
AW: Nachtrag
21.09.2003 18:54:36
Hajo_Zi
Hallo Silvia

die Letzte Zelle in Spalte A wird wie folgt festgestellt

Dim Loletzte as Long
LoLetzte = 65536
If Range("A65536") = "" Then LoLetzte = Range("A65536").End(xlUp).Row


Falls Code vorhanden wurde dieser getestet unter Betriebssystem XP Pro und Excel Version XP SBE.
Bitte kein Mail, Probleme sollen im Forum gelöst werden.

Microsoft MVP für Excel

Das Forum lebt auch von den Rückmeldungen.

http://home.media-n.de/ziplies/

Anzeige
AW: Nachtrag
21.09.2003 19:40:34
Christoph
hi Silvia,
die Code-Zeile: lRow = Cells(Rows.Count, 1).End(xlUp).Row bedeutet:

"gehe in der Spalte A von der letzten Zeile (Zeile65536)aus nach oben und suche nach einer Zeile mit Eintrag. Die Spalte A wird hier durch die Spaltennummer festgelegt SpalteA = Spalte1 in: Cells("Zeilen","Spalten")
Insofern ist es genau das, was du willst.
Hajo sucht im benutzten Bereich nach der letzten Zelle, die muss sich aber nicht in Spalte A befinden. alles Klar
Gruß
Christoph
AW: Nachtrag
21.09.2003 19:44:57
Hajo_Zi
Hallo Christoph

den Kommentar habe ich vergessen zu löschen. Im Orignalcode suche ich nach der letzten Zeile im Benutzten Bereuich.


Falls Code vorhanden wurde dieser getestet unter Betriebssystem XP Pro und Excel Version XP SBE.
Bitte kein Mail, Probleme sollen im Forum gelöst werden.

Microsoft MVP für Excel

Das Forum lebt auch von den Rückmeldungen.

http://home.media-n.de/ziplies/

Anzeige
Ich habe fertig :-) D A N K E
21.09.2003 19:57:28
Silvia
Klasse Helfer, many thanks!
Jetzt ist es genau so, wie ich es haben wollte.

Grüße S I L V I A
Danke für die Rückmeldung oT
21.09.2003 19:57:50
Hajo_Zi

301 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige