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

Eingaben in Zeilen löschen - Button

Eingaben in Zeilen löschen - Button
10.03.2017 12:02:07
Christian
Hallo Zusammen,
ich habe ein Eingabetabellenblatt konstruiert, in dem der Anwender in 500 Zeilen verschiedene Spalten befüllen soll. Diese Eingabefelder reihen sich jedoch nicht aneinander, sondern werden zum Teil von Rechenfeldern unterbrochen. So kann es also sein, dass die Spalte B in jeder Zeile eine Eingabe zulässt, die Spalte D ebenso, die Spalte C jedoch geschützt ist und Berechnungen durchführt.
Nun möchte ich dem Anwender den Komfort bieten, auf Knopfdruck die Eingabefelder einer Zeile komplett zu löschen, also in dem obigen Fall, in z.B. der Zeile 25 die Felder B25 und C25. Dabei sind die Eingabefelder je Zeile stets gleich.
Insgesamt habe ich aktuell Spalten von A bis BR. Die Felder einer bestimmten Zeile zu löschen, bekomme ich noch selbst programmiert. Da ich aber ungern 500 Makros schreiben möchte, hoffe ich, dass es eine einfachere Lösung gibt.
Alternativ:
Ich habe bereits definiert, wann eine Zeile unvollständig befüllt ist. Also wenn die Anzahl der Eingabefelder größer der Anzahl der Eingaben ist. Dieses wird vor jeder Zeile mit dem Wert 1 = korrekt und 0 = unvollständig angezeigt. Alternativ käme ich auch mit einem Knopf zu Recht, der die Eingabefelder jeder Zeile, die mit 0 gekennzeichnet ist, löscht.
Wer von Euch hat nicht nur Lust sondern auch eine Idee, mir wieder einmal so professionell weiterzuhelfen.
Herzlichen Dank im Voraus!
Christian

10
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Eingaben in Zeilen löschen - Button
10.03.2017 12:13:00
onur
Hi,
Schwer, ohne die Datei zu haben.
Gruß
Onur
AW: Eingaben in Zeilen löschen - Button
10.03.2017 12:15:01
Matthias
Hallo
Cursor in die entsprechende Zeile setzen
Range(Cells(ActiveCell.Row, 2), Cells(ActiveCell.Row, 3)).ClearContents
Löscht "B" und "C" der aktiven Zeile
Gruß Matthias
AW: Eingaben in Zeilen löschen - Button
10.03.2017 12:19:20
Christian
Hallo Matthias,
das ist könnte ein Weg sein. Kann ich vorher den Bereich der Spalten definieren, um dann nur noch
Range(Cells(ActiveCell.Row, Bereich).ClearContents
verwenden zu müssen.
Ich schließe nicht aus, dass sich die Spalten-Logik noch ändert und dann wäre es für mich übersichtlicher strukturiert.
Vielen Dank!
Christian
Anzeige
AW: Eingaben in Zeilen löschen - Button
10.03.2017 12:20:40
Daniel
Hi
du könntest dem Button folgenden Code zuweisen:
Selection.EntireRow.SpecialCells(xlcelltypeconstants).ClearContents
dann werden im selektierten Bereich - erweitert auf ganze Zeile - alle Zellinhalte gelöscht, die keine Formel sind.
Dh die Formeln bleiben stehen und die Direkteingaben werden gelöscht.
Weil das SpecialCells einen Fehlerabbruch erzeugt, wenn es keine Zellen finden kann, sollte man es aber in On Error ResumeNext einbinden.
On Error Resume Next
Selection.EntireRow.SpecialCells(xlcelltypeconstants).ClearContents
On Error Goto 0

Wenn es in jeder Zeile die gleichen Spalten sind, die gelöscht werden sollen, dann wäre das eine alternative:
intersect(Selection.EntireRow, Range("B:B,D:D,G:H,J:J")).ClearContents
die Spalten in denen gelöscht werden soll, musst du in der Range festlegen.
Gruß Daniel
Anzeige
AW: Eingaben in Zeilen löschen - Button
10.03.2017 12:41:06
Christian
Hallo Daniel,
die erste Variante klappt schon super. Herzlichen Dank!
Jetzt möchte ich allerdings die Bedingung einbauen, dass nur unvollständige Zeilen gelöscht werden können, also nur die in der jeweiligen Zeilen und Spalte H mit 0 definiert sind.
Kannst Du diesen Zusatz ergänzen?
Vielen Dank.
Christian
AW: Eingaben in Zeilen löschen - Button
10.03.2017 12:44:32
Daniel
dann etwas komplizierter
for each Zelle In Intersect(Selection.EntireRow, Columns(8))
If Zelle.Value = 0 then Then
Zelle.EntireRow.SpecialCells(xlcelltypeconstants).ClearContents
end if
next
Zelle muss als Range deklariert werden.
Gruß Daniel
Anzeige
AW: Eingaben in Zeilen löschen - Button
10.03.2017 13:14:36
Christian
Das klappt. Sensationell! DANKE!
Ich würde jetzt noch die Ausführung des Makros verhindern, wenn das Feld der Spalte I in der jeweiligen Zeile geschützt ist. Wie kann man das kombinieren?
Sorry, dass das so kleckerweise kommt!
Viele Grüße
Christian
AW: Eingaben in Zeilen löschen - Button
10.03.2017 13:23:43
Christian
Und es ware super, wenn das Makro nur ab der Zeile 17 funktioniert!
AW: Eingaben in Zeilen löschen - Button
10.03.2017 13:36:22
Daniel
Hi
naja, du musst die jeweilige Bedingung auch noch abfragen
z.B. die Zeile mit If Selection.Row > 17 Then
und den Geschützt-Status mit <i>If not Cells(Zelle.Row, 8).Locked then
Gruß Daniel
AW: Eingaben in Zeilen löschen - Button
10.03.2017 13:43:57
Christian
Es hat geklappt. Vielen Dank für diese konstruktive und professionelle Unterstützung - und das stets zeitnah. Ihr, und dieses Forum, seid einfach super.
Viele Grüße
Christian
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige