Live-Forum - Die aktuellen Beiträge
Datum
Titel
28.03.2024 21:12:36
28.03.2024 18:31:49
Anzeige
Archiv - Navigation
1144to1148
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

Zur 1. belegten Zelle der Spalte K

Zur 1. belegten Zelle der Spalte K
walli
Guten Abend,
ich möchte zur 1. belegten Zelle der Spalte K und möchte dann
von der Spalte A bis Spalte M den Bereich selektieren und löschen.
mfg walli
AW: Zur 1. belegten Zelle der Spalte K
22.03.2010 19:47:19
Reinhard
Hallo Walli,
in K ist nur K12:K20 und K35:K45 belegt.
Welchen bereich willst du selektieren?
Löschen heißt Zellwerte löschen oder Zeilen löschen?
Gruß
Reinhard
AW: Zur 1. belegten Zelle der Spalte K
22.03.2010 19:54:42
walli
Hallo Reinhard,
entschuldige, hatte vergessen.
Meine Tabelle geht von A6 bis M...
Wenn in der Spalte K die 1. belegte Zelle die K120 ist,
dann soll von A120 bis M ende gelöscht werden.
Das Ende wird durch die Spalte A bestimmt.
Hatte mal aufgezeichnet:
' Selection.deLete Shift:=xlUp
mfg walli
AW: Zur 1. belegten Zelle der Spalte K
22.03.2010 20:05:36
Reinhard
Hallo Walli,
Sub loesch()
Dim ZeiA As Long, ZeiK As Long
ZeiK = Cells(Rows.Count, 11).End(xlUp).Row
ZeiA = Cells(Rows.Count, 1).End(xlUp).Row
If ZeiK > 6 And ZeiA >= ZeiK+1  Then
Range(Cells(ZeiK + 1, 1), Cells(ZeiA, 13)).ClearContents
Next ZeiK
End Sub

Gruß
Reinhard
Anzeige
Next ohne For - If ohne End If ?! oT
22.03.2010 20:11:14
Matthias
AW: Next ohne For - If ohne End If ?! oT
22.03.2010 20:19:04
Reinhard
Hallo Matthias,
hast Recht, hab gepennt.

Sub loesch()
Dim ZeiA As Long, ZeiK As Long
ZeiK = Cells(Rows.Count, 11).End(xlUp).Row
ZeiA = Cells(Rows.Count, 1).End(xlUp).Row
If ZeiK > 6 And ZeiA >= ZeiK+1  Then
Range(Cells(ZeiK + 1, 1), Cells(ZeiA, 13)).ClearContents
End If
End Sub

Gruß
Reinhard
Nei leider nicht
22.03.2010 20:24:21
walli
Hallo Reinhard,
habe mal selektieren wollen:
Dim ZeiA As Long, ZeiK As Long
ZeiK = Cells(Rows.Count, 11).End(xlUp).Row
ZeiA = Cells(Rows.Count, 1).End(xlUp).Row
If ZeiK > 6 And ZeiA >= ZeiK + 1 Then
Range(Cells(ZeiK + 1, 1), Cells(ZeiA, 13)).Select ' ClearContents
End If
leider ohne Erfolg.
mfg walli
Anzeige
AW: Nei leider nicht
22.03.2010 20:53:01
Reinhard
Hallo Walli,
mein Code funktioniert. Lade mal eine Beispielmappe hoch wo er nicht funktioniert.
Gruß
Reinhard
AW: Zur 1. belegten Zelle der Spalte K
22.03.2010 20:19:04
walli
Hallo Reihard,
bleibt hier stehen:Next ZeiK
Meldung Next ohn For
mfg walli
mein Beitrag korrigiert ...
22.03.2010 20:26:04
Matthias
Hallo
Sub Schleife()
Dim c As Range, Zeile As Long
For Each c In Range("K:K")
If c.Value  "" Then Zeile = c.Row: Exit For
Next
If Zeile > 0 Then Range("A" & Zeile & ":M" & Zeile).ClearContents
End Sub
Gruß Matthias
Es wird nur Zeile 5 selectiert
22.03.2010 20:31:36
walli
Hallo Matthias,
ab Zeile6 soll geprüft werden in der Zeile 5 steht
die Überschrift.
mfg walli
Anzeige
meine version...
22.03.2010 20:34:03
robert
hi,
teste das mal
gruß
robert
Sub TT()
Dim firstlz As Long
Dim lz As Long
lz = Cells(Rows.Count, 1).End(xlUp).Row
firstlz = Range("K:K").SpecialCells(xlCellTypeBlanks).Rows.Count + 1
Range("A" & firstlz & ":M" & lz).Clear
End Sub

Hallo Robert
22.03.2010 20:38:22
walli
Hallo Robert,
es war alles WEG !
möchte gern mal testen mit selectieren.
mfg walli
AW: meine version...
22.03.2010 20:43:18
robert
hi,
erstens habe ich geschrieben-teste mal..
zweitens-das war doch dein wunsch-oder?
selektieren und löschen.
gruß
robert
Ja aber doch
22.03.2010 20:48:44
walli
Hallo Robert,
ja ja aber doch von der Zeile 6 angefangen.
ich wollte mir die Selektion ansehen,
mfg walli
Anzeige
dannach steig ich zu 99% aus ...
22.03.2010 20:52:21
Matthias
Hallo
Userbild
Sub Schleife()
Dim c As Range, Zeile As Long, LoletzteA As Long
LoletzteA = Cells(Rows.Count, 1).End(xlUp).Row
For Each c In Range("K:K")
Zeile = c.Row
If Zeile > 5 And LoletzteA > 5 Then If c.Value  "" Then Zeile = c.Row: Exit For
Next
If Zeile > 5 And LoletzteA > 5 Then Range("A" & Zeile & ":M" & LoletzteA).Select 'ClearContents
End Sub
https://www.herber.de/bbs/user/68743.xls
Gruß Matthias
Anzeige
Einfach Geil, Tausend Dank es klappt !!!!
22.03.2010 21:02:56
walli
Hallo Matthias,
weiß nicht WARUM aber jetzt klappt es !!!
Tausend Dank auch an die anderen !!!
ALLEN einen schönen Abend noch !
mfg walli
AW: Ja aber doch
22.03.2010 21:02:20
robert
hi,
das war deine antwort an reinhard:
Meine Tabelle geht von A6 bis M...
Wenn in der Spalte K die 1. belegte Zelle die K120 ist,
dann soll von A120 bis M ende gelöscht werden.
Das Ende wird durch die Spalte A bestimmt.
wenn ich richtig liege nacht mein makro folgendes:
ich ermittle die 1.belegte zelle in spalte K... zB.120
dann letze zelle in spalte A.....zB. 200
dann wird-lt.deiner angabe- A120 bis M200 gelöscht
was hat das mit A6 zu tun ?
gruß
robert
Anzeige
AW: Ja aber doch --))
22.03.2010 21:05:27
walli
Hallo Robert,
in der Spalte A steht ebenfalls eine Zahl die bestimmt die Länge der
Selektion und dann das löschen !
Habe das jetzt von Matthias, genommen,
bin glücklich,
DANKE für deine Unterstützung,
mfg walli
Es klappt, das zählt, *Schweißabwisch* :-) owT
22.03.2010 21:06:44
Reinhard


Zur Info Robert
22.03.2010 21:14:50
walli
Hallo Robert,
habe deins abgeändert:
Sub TT()
Dim firstlz As Long
Dim lz As Long
lz = Cells(Rows.Count, 1).End(xlUp).Row
firstlz = Range("K:K").SpecialCells(xlCellTypeBlanks).Rows.Count - 4             ' + 1
Range("A6" & firstlz & ":M" & lz).Select                      'Clear
End Sub

jetzt wird allerdings die 1. belegte Zeile nicht selectiert, wenn ich Minus 5 setze kommt fehlermeldung.
mfg walli
Anzeige
das geht ganz fix ... ohne vba
22.03.2010 20:02:26
Matthias
Hallo walli
setz den Cursor in K1
drücke STRG+Pfeil nach unten
drücke Shift+Pos1
drücke Entfernen - Fertig
Was willst Du denn löschen ?
die Zellen oder die Zellinhalte ?
stehen auch Formeln in den Zellen ?
für meine VBA-Beispiele gilt: ohne Formeln (nur Zellinhalte)


Mein Recorder sagt das
Sub MakroRecorder()
Range("K1").Select
Selection.End(xlDown).Select
Range(Selection, Cells(ActiveCell.Row, 1)).Select
Selection.ClearContents
End Sub

gefällt mir aber nicht !


eine weitere Variante ohne Recorder
Sub Schleife()
Dim c As Range, Zeile As Long
For Each c In Range("K:K")
If c.Value  "" Then Zeile = c.Row: Exit For
Next
MsgBox "Zeile = " & Zeile
If Zeile > 0 Then Range("A" & Zeile & ":K" & Zeile).Select 'hier löschen
End Sub
Select dient hier nur zur Demonstration
Bitte immer an einer Kopie testen!
Gruß Matthias
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige