Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1404to1408
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

Zellinhalte entfernen

Zellinhalte entfernen
27.01.2015 17:14:41
Gerhard
Hallo,
Bitte um Makro Hilfe,
In meiner Foto-Datenbank sind in den Spalten M-R verschiedene Versionsnummern
abgelegt.
Die Anzahl der Zellinhalte die ich noch verwenden möchte sind in der Spalte S
eingetragen die anderen finden keine Verwendung mehr und können somit aus den
jeweiligen Zellen in der Zeile gelöscht werden!
Beispiel: die Zellen von M6-R6 sind gefüllt jetzt gebe in der Spalte S6 die
Anzahl der Spalten die ich noch verwenden möchte z.B 2 ein, dann sollten nur
noch die Spalten M6 + N6 gefüllt sein die Spalten O6-R6 sollen geleert werden!
siehe auch Beispiel im Anhang.
Vielen Dank für Eure Hilfe
Gruß Gerhard
https://www.herber.de/bbs/user/95330.xls

11
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
Zeile19 ist aber als Wunsch bei 1 falsch, oder?
27.01.2015 17:42:57
Matthias
Hallo
Option Explicit Sub entfernen() On Error Resume Next Dim x& For x = 6 To 23 With Cells(x, 13 + Cells(x, 19)).Resize(1, 6 - Cells(x, 19)) .ClearContents End With Next End Sub Gruß Matthias

AW: Zeile19 ist aber als Wunsch bei 1 falsch, oder?
27.01.2015 18:24:27
Gerhard
Hallo Matthias,
Vielen Dank für deine schnelle Hilfe
Dein Makro löscht die nicht mehr benötigten Zellinhalte nur in dem Bereich bis Zeile 23!
Meine Tabelle hat aber mehrere 100 Zeilen und wächst dynamisch!
ich hätte gerne, dass nur die selektierte Zeile oder in dem selektierten Bereich die Inhalte
gelöscht werden.
Vielen Dank
Gruß Gerhard

Anzeige
AW: Zeile19 ist aber als Wunsch bei 1 falsch, oder?
27.01.2015 18:28:21
Gerhard
Hallo Matthias,
ja in dem Beispiel ist die Zeile 19 mit der Zahl 1 in der Spalte S von mir falsch eingegeben
richtig wäre die Zahl 6!
Gruß
Gerhard

dann musst Du eben noch eine Variable benutzen ...
27.01.2015 18:38:30
Matthias
Hallo
Dann vermute ich mal das Spalte("S") die Referenzspalte ist nach der dynamisch die Zeilen ermittelt werden sollen
Option Explicit
Sub entfernen()
On Error Resume Next
Dim x&, Loletzte&
Loletzte = Cells(Rows.Count, 19).End(xlUp).Row
For x = 6 To Loletzte
With Cells(x, 13 + Cells(x, 19)).Resize(1, 6 - Cells(x, 19))
.ClearContents
End With
Next
End Sub
Gruß Matthias

Anzeige
AW: dann musst Du eben noch eine Variable benutzen ...
27.01.2015 19:02:22
Gerhard
Hallo Matthias,
Nein in der Spalte S steht die Anzahl der Zellen die ich in der Zeile weiter verwenden möchte!
Beispiel 1: in der Spalte S steht der Wert 2
dann sollte der Inhalt der Spalte M + N nicht gelöscht werden.
gelöscht werden sollten aber die Zellinhalte der Spalten O, P, Q und R
Beispiel 2: steht in Spalte S der Wert 6
dann dürfen die Zellinhalte der Spalten M bis R nicht gelöscht werden!
Das Makro sollte immer nur in der Aktiven Zeile die Zellinhalte löschen und nicht die komplette Tabelle!
schön wäre es, wenn ich mehrere Zeilen markiere und diese dann entsprechend den Werten aus der
Spalte S auf einmal gelöscht werden.
Gruß Gerhard

Anzeige
Schleife über -> Selection.Rows
27.01.2015 20:06:16
Matthias
Hallo
1. und 2. hatte ich schon verstanden und Dir ja auch einen funktionierenden Code gepostet.
Nur das ich eben den kompletten Zeilenbereich von 6 bis 23 angesprochen hatte.
So wie Deine Bsp.Datei eben erstellt war.
Es wurden ja die richtigen Zelle geleert, oder etwa nicht?
Wenn Du nun nur die markierten Zeilen ansprechen willst,
musst Du ebend in einer Schleife die jeweilge ZeilenNr. ermitteln.
Bsp:
Nimm mal eine leere Tabelle
Markiere ein paar Zeilen und lass den Code laufen.
Dim MyRows
For Each MyRows In Selection.Rows
MsgBox MyRows.Row
Next
Vielleicht verstehst Du das nun schon etwas besser.
Gruß Matthias

Anzeige
AW: Schleife über -> Selection.Rows
27.01.2015 22:24:35
Gerhard
Hallo Matthias,
wie müsste dann der gesamte Makro Code aussehen?
Gruß Gerhard

AW: Schleife über -> Selection.Rows
28.01.2015 15:32:10
Matthias
Hallo
Option Explicit
Sub entfernen()
On Error Resume Next
Dim x&, First&, Last&, MyRows
If Selection.Row > 5 And Selection.Row 
Dazu musst Du nicht die Zeilen komplett markieren.
Es reicht die Zellen zu markieren, in deren Zeile Du löschen willst.
Bitte nur zusammenhängende Zellen markieren!
Beispielsweise S12:S16
 S
120
131
144
155
160


Excel Tabellen im Web darstellen >> Excel Jeanie HTML 4
Nun greift der Code in diesen Zeilen
https://www.herber.de/bbs/user/95360.xlsm
Gruß Matthias

Anzeige
AW: Schleife über -> Selection.Rows
28.01.2015 20:25:34
Gerhard
Hallo Matthias,
Vielen Dank für Deine Hilfe!
funktioniert super
Gruß Gerhard

AW: Schleife über -> Selection.Rows
28.01.2015 20:25:34
Gerhard
Hallo Matthias,
Vielen Dank für Deine Hilfe!
funktioniert super
Gruß Gerhard

Danke für Deine Rückmeldung ... owT
28.01.2015 20:46:51
Matthias

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige