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?
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.
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?
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)
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.
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
28.06.2018, 09:36 (Dieser Beitrag wurde zuletzt bearbeitet: 28.06.2018, 09:36 von BoskoBiati.)
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.
(28.06.2018, 09: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.
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.