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.

Feld farbig machen, nachdem es einmal befüllt wurde.
#1
Hallo. Gleich noch eine Frage hinterher. 

In meiner Datei gibt es ein Feld, dass sich verfärbt, wenn es ausgefüllt ist. Wenn ich den Wert aus der Zelle lösche, löscht sich auch die Verfärbung. Soweit so gut. Das bekomme ich über 'Regeln, hin. 

Gibt es eine Möglichkeit, dass die Verfärbung bleibt, bis ich einen Command_Button drücke, unabhängig davon, ob das Feld bereits wieder leer ist? Lg
Antworten Top
#2
Hallo,

ja, mit VBA geht das.

Kannst Du VBA einsetzen?

mfg
Antworten Top
#3
Einsetzen ja... Schreiben (noch) nicht 19

Könntest du mir da weiterhelfen?
Antworten Top
#4
Der Code gehört in den Codeteil des sheets:

Code:
private sub Worksheet_change(byval Target as range)
if not isempty(Target) then target.interior.color = vbyellow
end sub

Mit Alt-F11 wird der VBE aufgerufen, danach das relevante Sheet, z.B. "Tabelle 1" doppel-klicken und den Code einfügen.
[-] Folgende(r) 1 Nutzer sagt Danke an Fennek für diesen Beitrag:
  • Martin335
Antworten Top
#5
OK das füge ich ein. Und dann muss ich nur noch einen Command_Button erstellen, der die Farbe wieder auf den Ursprung zurücksetzt richtig?  Huh
Das weiß ich übrigens auch nicht, wie das geht :D
Antworten Top
#6
So. Ich habe die Datei mal in den Anhang gefügt.

Das Tor (Toreinfahrt) muss nach jedem Ladevorgang eines LKW gefegt werden. Die Kosten hierfür werden der Firma zugebucht, die das Tor zuletzt genutzt hat. Dafür wird der Name der Firma auch auf das 2te Tabellenblatt übertragen. Zudem färbt sich das Feld rot, solange der LKW noch am Tor steht. Um das Tor wieder freizugeben, muss es halt gereinigt werden. 
Jetzt habe ich das Problem, dass ich das Feld, welches rot gefärbt wird (auf Tabellenblatt2) solange einer drin ist, weiß wird, sobald ich auf tabellenblatt1 das Abfahrtsdatum hinzufüge. 

Ich möchte, dass das Feld in Tabellenblatt 2 aber solange rot bleibt (auch wenn der LKW schon weg ist), bis ich auf den Command_Button daneben geklickt habe. (Reinigung wurde durchgeführt).


Ich hoffe ich habe es verständich ausgedrückt.


Angehängte Dateien
.xlsm   1612382916210_Tor1.xlsm (Größe: 18,29 KB / Downloads: 4)
Antworten Top
#7
In der Datei ist kein VBA-Code enthalten.

Das Datei-Format "xlsm" würde das ermöglichen, aber irgendwo im Prozess muss etwas gestört haben.

Anstelle der Buttons pro Zeile kann auch das "Select-Event" genutzt werden.

Heute werde ich meinen PC mit Excel nicht mehr hochfahren.
Antworten Top
#8
Brick 
Ja stimmt. Ich hatte das, was du mir geschrieben hattest wie befohlen eingefügt.
Das Problem war da aber, dass die Felder, welche die Namen auf Tabellenblatt2 enthalten und sich ändern, nicht berücksichtigt wurden, sondern lediglich die anderen Zellen, in die ich was geschrieben habe.
Die haben sich dann schwarz gefärbt, wenn ich sie wieder geleert habe

muss ja auch nicht heute sein ;)
Antworten Top
#9
In der beigefügten Datei wurde

- das Färben per VBA
- das Entfärben eines Tors per Doppel-Klick
- das Entfärben aller Tore mit Button

programmiert. Der Code funktioniert ohne die "intelligente" Tabelle.

Teste mal, ob Du damit zurecht kommst. Vorallem, versuche den Code in Sheets(1) und (2) zu verstehen

Im Sheets("Eingabe")
Code:
Private Sub Worksheet_Change(ByVal Target As Range)
With Sheets("Torübersicht")
    Select Case Target.Column
        Case Is = 3
            With .Cells(Target.Offset(, -1) + 1, 5)
                .Value = Target
                .Interior.Color = vbRed
            End With
        Case Is = 4
            If Not IsEmpty(Target) Then _
            .Cells(Target.Offset(, -2) + 1, 5) = ""
    End Select
End With
End Sub

Im Sheets("Torübersicht")
Code:
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
If Target.Column = 6 Then Target.Offset(, -1).Interior.Pattern = xlNone
End Sub

Im Module1: mit Button starten
Code:
Sub AlleTore()
Columns(5).Interior.Pattern = xlNone
End Sub]


Angehängte Dateien
.xlsm   1612382916210_Tor1.xlsm (Größe: 23,09 KB / Downloads: 6)
[-] Folgende(r) 1 Nutzer sagt Danke an Fennek für diesen Beitrag:
  • Martin335
Antworten Top
#10
Super das klappt schonmal sehr gut. Ich habe es zwar noch nicht verstanden, aber ich bleibe am Ball.

Das Einzige, was noch nicht nicht klappt, ist, dass wenn ich den Command_Button drücke, auch die Zellen wieder ihr Ursprungsfarbe annehmen, die aktuell noch belegt sind. könntest du mir bei der Feinheit noch helfen?


LG  Angel
Antworten Top


Gehe zu:


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