Anzeige
Archiv - Navigation
1536to1540
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
springe zur letzten zeile -lösche Bereich
23.01.2017 06:13:29
Andi
Guten Morgen,
wenn ich mit VBA die letzte ausgefüllte Zeile im Blatt "Bearbeiten" im Bereich A-L finden - und dann aber nur den Bereich B-L löschen möchte, wie könnte dafür ein Code aussehen?
Ich möchte auch nicht zur letzten Zeile springen.
Danke erst mal.
Andi

8
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: springe zur letzten zeile -lösche Bereich
23.01.2017 08:12:53
hary
Moin Andi
Dim lngLetzeZeile As Long
With Worksheets("Bearbeiten")
lngLetzeZeile = .[A:L].Find(What:="*", After:=.[A1], LookIn:=xlFormulas, SearchDirection:= _
xlPrevious).Row
.Cells(lngLetzeZeile, 2).Resize(1, 11).ClearContents
End With

gruss hary
AW: Finde letzten zeile -lösche Zellbereich
23.01.2017 19:16:55
Andi
Erst mal ein großes Dankeschön an Hary,
geht toll. Eine Frage dazu noch.
Was müsste ich am Code ändern, wenn nicht nur die letzte Zeile gelöscht werden soll, sondern alles im Bereich B-L so das nur noch A mit Werte gefüllt sind. Aktiv soll danach wieder Zeile 1 in "Bearbeiten" sein.
Das würde eine weitere Funktion sein.
Danke schon mal.
LG Andi
Anzeige
AW: Finde letzten zeile -lösche Zellbereich
24.01.2017 06:56:15
hary
Moin Andi
With Worksheets("Bearbeiten")
.Range("B:L").ClearContents
.Range("A1").Select
End With

gruss hary
AW: Finde letzten zeile -lösche Zellbereich
24.01.2017 23:20:10
Andi
Danke Hary,
Vielleicht doch noch eine nächste Befehlsschaltfläche- das werden richtig gute Funktionen- die in eine Combobox kommen.
Der nachfolgende Code funktioniert- er löscht bis zur eingegeben Zahl den Inhalt von "Spalte A" ohne Formatierung.
Wenn nun zusätzlich der Bereich "B-L" bis zu dieser Zahl mit gelöscht werden soll-
müsste eigentlich >>> Range("B:L").ClearContents

Private Sub CommandButton0051_Click()      'Lege Zeilenanzahl fest- ohne Löschen
Dim nAnzahl&
If TextBox0023.Tag = "1" Then Exit Sub
If IsNumeric(TextBox0023.Text) Then
With Worksheets("Bearbeiten")
nAnzahl = CLng(TextBox0023.Text)
If nAnzahl  0 Then
.UsedRange.Columns(1).ClearContents
With .Range("A1").Resize(nAnzahl)
.FormulaR1C1 = "=ROW(RC1)"
.Value = .Value
End With
End If
End If
End With
End If

Habe es schon probiert- aber bei meinen ´bescheidenen VBA Kenntnissen.
Gruß Andi
Anzeige
AW: Finde letzten zeile -lösche Zellbereich
25.01.2017 07:06:45
hary
Moin
Range("B1:L" & nAnzahl).ClearContents

gruss hary
AW: -lösche Zellbereich
25.01.2017 18:28:38
Andi
Guten Abend Hary.
Langsam taste ich mich vor. Habe den Code mal mit Datum versehen- was geändert wurde-
Interessant- Nun wird B1-L gelöscht- jedoch entgegengesetzt... Lach
Bei ausgefüllten Blatt ( Salten A-L sind z.B. bis 55 gefüllt, ich trage in der TextBox 30 ein - dann wird zur Zeit die Spalte A bis zur 30 reduziert- und zur Zeit ab der 30- bis zur 1 der Bereich B-L geleert.
Besser ist es- wenn ebenfalls der Bereich- B-L bis zur z.B. 30 gelöscht werden würde. Von unten Rückwärts.
Na hoffentlich nerve ich nicht so sehr?
LG Andi

Private Sub CommandButton0051_Click()      'Lege Zeilenanzahl fest- ohne Löschen
Dim nAnzahl&
If TextBox0023.Tag = "1" Then Exit Sub
If IsNumeric(TextBox0023.Text) Then
With Worksheets("Bearbeiten")
nAnzahl = CLng(TextBox0023.Text)
If nAnzahl  0 Then
.UsedRange.Columns(1).ClearContents
With .Range("A1").Resize(nAnzahl)
.FormulaR1C1 = "=ROW(RC1)"
.Value = .Value
End With
With .Range("B1:L" & nAnzahl).ClearContents '25.01.17
End With '25.01.17
End If
End If
End With
End If
End Sub

Anzeige
AW: -lösche Zellbereich
26.01.2017 08:04:19
hary
Moin
Kein Problem.
Was meinst du mit: " Nun wird B1-L gelöscht- jedoch entgegengesetzt... "?
Du hast A bis L 30 Zeilen belegt. Und moechtest ab nAnzahl bis letzte Zeile loeschen?
D.h. Von Bsp.-weise Textbox(Zahl) bis letzte belegte alles loeschen, also unterhalb von Zeile(Textbox).
Dim letzte As Long, nAnzahl As Long
With Worksheets("Bearbeiten")
If IsNumeric(TextBox0023) Then
If CLng(TextBox0023) > 0 Then
nAnzahl = CLng(TextBox0023)
letzte = .Cells(Rows.Count, 1).End(xlUp).Row '--letzte belegte Zeile SpalteA
.Range("A" & nAnzahl + 1 & ":L" & letzte).ClearContents
With .Range("A1").Resize(nAnzahl)
.FormulaR1C1 = "=ROW(RC1)"
.Value = .Value
End With
End If
End If
End With

Ansonsten mal eine Bsp.-Mappe hochladen. Wobei du farbig hervorhebst was geloescht werden soll.
gruss hary
Anzeige
AW: -lösche Zellbereich
26.01.2017 20:00:31
Andi
Danke Hary,
den Code eingefügt- und er löscht nun alles richtig-
Super-Arbeit.
Grüße Andi

311 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige