Dieses Forum nutzt Cookies
Dieses Forum verwendet Cookies, um deine Login-Informationen zu speichern, wenn du registriert bist, und deinen letzten Besuch, wenn du es nicht bist. Cookies sind kleine Textdokumente, die auf deinem Computer gespeichert werden. Die von diesem Forum gesetzten Cookies werden nur auf dieser Website verwendet und stellen kein Sicherheitsrisiko dar. Cookies aus diesem Forum speichern auch die spezifischen Themen, die du gelesen hast und wann du zum letzten Mal gelesen hast. Bitte bestätige, ob du diese Cookies akzeptierst oder ablehnst.

Ein Cookie wird in deinem Browser unabhängig von der Wahl gespeichert, um zu verhindern, dass dir diese Frage erneut gestellt wird. Du kannst deine Cookie-Einstellungen jederzeit über den Link in der Fußzeile ändern.

VBA - Gefärbte Zellen löschen
#1
Hallo Forum,
für ein Projekt soll ich ein Formular erstellen. Hierbei soll es einen Button geben, der gewisse Zellen, in welche die Persönlichen Daten eingetragen werden leert, sodas man wieder das blanko-Formular hat. Da es Sich um ein dynamisches Formular handelt, bei welchem Zeilen hinzugefügt werden, kann ich auch nicht einfach einen Code für die Zellen schreiben, die ich aktuell im Formular habe.
Die zu leerenden Zellen sind farblich von den anderen abgehoben. Ist es möglich, im Makro nach der Füllfarbe der Zellen zu filter und nur bei den gefüllten .Clear.Contents zu machen? oder gibt es eventuell allgemein eine bessere Lösung für das Problem?

Vielen Dank für die Hilfe,

Phinchen
Antworten Top
#2
Dafür wäre mal hilfreich zu wissen, wie die Datei aussieht. Weiters ist interessant, wie die Einfärbung erfolgt, ob mittels bedingter Formatierung oder händisch.
Schöne Grüße
Berni
Antworten Top
#3
Händisch formatiert, betroffene Zellen sind unregelmäßig über das Blatt verstreut, genutzte Farbe ist aktuell Rot, wäre aber abolut egal welche farbe es am Ende wird:) fehlt sonst noch was an infos?
Antworten Top
#4
Hallo,

wenn die Farbe einduetig definiert ist, kann man mit Autofilter auf die Zellen zugreifen:

Code:
Range("A1:D10").AutoFilter field:=4, Criteria1:=(vbRed), Operator:=xlFilterCellColor

Ein Beispiel aus dem Archiv.

mfg
Antworten Top
#5
Moin!
Ich finde, wir sollten zunächst mal Infos sammeln, bevor auch nur ein konkreter Vorschlag gemacht werden kann.
Erst mal sind Farbauswertungen zu vermeiden, wenn es auch anders geht.
Wenn man "Formularfelder" für eine neue Datei löschen will, nimmt man idR eine Excel-Vorlage (.xltx oder .xltm).
Was bedeutet bei Dir "dynamisch"?

Stelle zunächst mal ein grobes Konzept in Form einer .xlsx ein, dann kann man sich herantasten.
So aber ist es nur ein Stochern im Nebel, welches niemandem nutzt.

Gruß Ralf
Gib einem Mann einen Fisch und du ernährst ihn für einen Tag. 
Lehre einen Mann zu fischen und du ernährst ihn für sein Leben. (Konfuzius)
Antworten Top
#6
Ok, mein Fehler. Mit "hilfreich zu wissen, wie die Datei aussieht" meinte ich, dass du eine Beispieldatei hochladen sollst. Du kannst noch fünf weitere Textbeschreibungen machen, man kann sich trotzdem nicht vorstellen, wie deine Datei ausschaut. Siehe auch Beitrag von Ralf.
Schöne Grüße
Berni
Antworten Top
#7
Hallo, also anbei mal das "Formular" wie es am Ende aussehen soll. Die roten Felder werden vom Nutzer ausgefüllt, der Rest wird dann automatisch gezogen. Zusätzlich gibt es dann noch einen Button zum weitere Zeilen einfügen, falls mehr benötigt werden, das war mit dynamisch gemeint, deswegen fällt die Möglichkeit weg konkret als Code zu schreiben welche Zellen geleert warden sollen

danke schonmal für die Hilfe


Angehängte Dateien
.xlsx   Beispielmappe.xlsx (Größe: 24,16 KB / Downloads: 6)
Antworten Top
#8
Hi,

1. Aus wieviel Zeilen besteht das Formular am Anfang?
2. Wo ist der Button zum Zeilen einfügen?
3. Warum zeigt die Formel einen Zirkelbezug, was hast Du da falsch gemacht?
4. Wo ist der Code für den vorhandenen Button?
Gruß

Edgar

Meine Antworten sind freiwillig und ohne Gewähr!
Über Rückmeldungen würde ich mich freuen.
Antworten Top
#9
(28.06.2018, 08:18)Phinchen schrieb: Hallo, also anbei mal das "Formular" wie es am Ende aussehen soll. Die roten Felder werden vom Nutzer ausgefüllt, der Rest wird dann automatisch gezogen.
Du wirfst Eingabe, Verarbeitung und Ausgabe in ein Blatt. Das sollte man nicht machen.

Merkwürdig finde ich dass dein Projekt mit der Datei Standard parts Übung VBA.xlsm verknüpft ist.
Sollen die Helfer dir bei deinen Hausaufgaben helfen?
Wir sehen uns!
... Detlef

Meine Beiträge können Ironie oder Sarkasmus enthalten.

Antworten Top
#10
Als Denkansatz...
Wenn man davon ausgeht, dass das grundlegende Format immer gleich bleibt, könntest du im Bereich SetUp-Costs den zu löschenden Bereich so festlegen
Code:
Sub test()
Dim SetUpLetzte As Range

Set SetUpLetzte = Cells.Find(What:="Raw Material", LookIn:=xlValues, LookAt:=xlWhole)

Range("A5:A" & SetUpLetzte.Row - 3).ClearContents

End Sub

Und nach diesem Prinzip wählst du auch die anderen Zellen aus.
Schöne Grüße
Berni
Antworten Top


Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste