Anzeige
Archiv - Navigation
1204to1208
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

Löschen der Zellen zwischen erster & letzter Zelle

Löschen der Zellen zwischen erster & letzter Zelle
F.
Hallo,
eine Kollegin von mir hat folgendes Problem, bei dem ich ihr nicht helfen kann:
Ihr Dokument besteht aus 10000+ Zeilen und jede Zeile enthält 1 oder 2 nichtleere Zellen. Diese verteilen sich auf die Spalten von A bis circa BT.
Nun möchte Sie, dass jede Zeile durchlaufen wird. Dabei sollen die Zellen ab der ersten nichtleeren Zelle bis zur letzten nichtleeren bzw. der zweiten Zelle gelöscht werden. Besonders dabei ist, am Ende soll der zweite Wert genau an die Stelle des ersten Wertes rücken. Dies ist ihr sehr wichtig.
Wenn nur eine nichtleere Zelle in der Zeile steht, soll diese natürlich übersprungen werden.
Meine Kenntnisse übersteigt das, weiß jemand Rat? Oder einen Link wo ich mich selbst da ranarbeiten kann?
Beste Grüße F.
AW: Löschen der Zellen zwischen erster & letzter Zelle
08.03.2011 14:43:50
mpb
Hallo,
kannst Du eine Beispieldatei mit "vorher" und gewünschten "nachher" hochladen? Oder ein konkretes Beispiel beschreiben.
Gruß
Martin
OT freut mich daß ich nicht der einzige...
08.03.2011 14:51:58
Reinhard
...Nichtversteher bin :-))
Hallo martin,
sowas beruhigt ungemein mein Ego oder was das ist *gg*
Gruß
Reinhard
AW: Löschen der Zellen zwischen erster & letzter Zelle
08.03.2011 14:49:40
Reinhard
Hallo F.,
circa BT? Kommt rechts von BT noch Inhalt der nicht beachtet, also so bleiben soll?
Oder "enden" die zeilen mal bei BT oder halt kürzer, länger?
Kann man die Anfrage so formulieren als Pseudocode,
Durchlaufe alle Zeilen.
ist keine oder nur eine leere Zelle im befüllten Zellbereich so mache nix.
Ansonsten schließe alle "Lücken" in der zeile durch Aufrückung von Zellinhalten nach links.
?
Gruß
Reinhard
Anzeige
AW: Löschen der Zellen zwischen erster & letzter Zelle
08.03.2011 14:57:53
F.
Hallo mpb,
danke für deine Antwort, hier ist das Beispiel:
https://www.herber.de/bbs/user/73889.xls
Hallo Reinhard,
auch danke für deine Antwort:
Rechts von BT kommen in keiner Zeile mehr Werte, ist der Rand der Tabelle.
Zu deinem Formulierungsvorschlag: In meinem obenstehenden Bspl wird es denk ich klarer. Gegeben der Fall die Zeile enthält 2 nicht-leere Zellen, sollen die Zellen zwischen diesen beiden Zellen gelöscht werden und die zweite Zelle an die Stelle der ersten Zelle rücken.
AW: Löschen der Zellen zwischen erster & letzter Zelle
08.03.2011 15:11:23
Reinhard
Hallo F.,
ist das IMMER so, daß da nur 1 oder zwei Werte in einer Zeile stehen?
Gruß
Reinhard
Anzeige
AW: Löschen der Zellen zwischen erster & letzter Zelle
08.03.2011 15:17:15
F.
Hallo Reinhard,
ja, daß ist IMMER so. :)
AW: Löschen der Zellen zwischen erster & letzter Zelle
08.03.2011 15:37:08
Reinhard
Hallo Frederike :-),
Option Explicit
Sub Komprimieren()
Dim Zei As Long, Erste As Range, Zweite As Range
Application.ScreenUpdating = False
With Worksheets("Tabelle2")   'Anpassen
For Zei = 1 To .UsedRange.SpecialCells(xlCellTypeLastCell).Row
Select Case Application.CountBlank(.Rows(Zei))
Case .Columns.Count
'nix
Case .Columns.Count - 1
'nix
Case .Columns.Count - 2
Set Erste = Rows(Zei).Find("*")
Set Zweite = Rows(Zei).FindNext(Erste)
Erste.Value = Zweite.Value
Zweite.ClearContents
Case Else
MsgBox "F. hat gelogen :-)"
End Select
Next Zei
End With
Application.ScreenUpdating = True
End Sub

Gruß
Reinhard
Anzeige
AW: Löschen der Zellen zwischen erster & letzter Zelle
08.03.2011 15:31:08
mpb
Hallo,
Sub Zusammenfassen()
Application.ScreenUpdating = False
z = Cells.SpecialCells(xlCellTypeLastCell).Row
For i = 4 To z
Set rg = Range(Cells(i, 2), Cells(i, 13))
If Application.WorksheetFunction.CountA(rg) = 2 Then
Rows(i).SpecialCells(xlCellTypeConstants, 23).Cells(1, 1) = Rows(i).SpecialCells( _
xlCellTypeConstants, 23).End(xlToRight)
Rows(i).SpecialCells(xlCellTypeConstants, 23).End(xlToRight).Clear
End If
Next i
Application.ScreenUpdating = True
End Sub
Startzeile ist auf 4 gesetzt, ggf. noch anpassen.
Gruß
Martin
AW: ups ...
08.03.2011 15:33:30
mpb
... da ist noch etwas aus meinen Tests stehen geblieben. Statt
Cells(i, 13)
Cells(i, 72)
Gruß
Martin
Anzeige
AW: ups ...
08.03.2011 17:34:15
F.
Hallo,
die Lösung funktioniert sehr gut. Das mit Cells(i, 72) hatte ich mir gedacht. ;)
Vielen Dank!

300 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige