Herbers Excel-Forum - das Archiv

Feldfarbe verändern

Bild

Betrifft: Feldfarbe verändern
von: Klaus

Geschrieben am: 12.02.2005 14:20:35
Hallo Leute,
wer hat eine Idee?
In meiner Anwendung muss der Anwender bestimmte Felder ausfüllen, damit eine Berechnung überhaupt möglich ist. Über ein Makro prüfe ich, ob die Mindestangaben vorhanden sind. Wenn eine Eingabe fehlt, setze die den Cursor das das Feld (z.B. B3) und fordere den Anwender auf, das Feld zu füllen.
Besteht jetzt die Möglichkeit, diesem Feld eine andere Hintergrundfarbe (z.B. rot) zuzuweisen und nach der Eingabe bzw. nach dem Verlassen des Feld die vorherige Hintergrundfarbe wieder herzustellen?
Würde mich freuen, wenn jemandem etwas einfällt.
Klaus
Bild

Betrifft: Poste mal deinen Code. o.w.T.
von: Reinhard
Geschrieben am: 12.02.2005 14:28:14
Bild

Betrifft: AW: Poste mal deinen Code. o.w.T.
von: Klaus

Geschrieben am: 12.02.2005 14:38:58
Hallo Reinhard,
hier kommt der Code (um die Sache abzukürzen, habe ich nur die Abfrage 'wohnung' drin gelassen).
Klaus
Sub Einblenden_Berechnung()
' Einblenden_Berechnung Makro
' Makro am 17.01.2005 von f28noeh aufgezeichnet
Application.ScreenUpdating = False
Application.ScreenUpdating = False
If Range("Eingabe!F9") = "" Then GoTo wohnung
ActiveWorkbook.Unprotect password:="mietea"
Worksheets("Tabelle1").Visible = True
ActiveSheet.Visible = False
Sheets("Tabelle1").Select
ActiveSheet.Unprotect password:="miete"
Selection.AutoFilter Field:=1, Criteria1:=">0", Operator:=xlAnd
ActiveWindow.LargeScroll Down:=-20
Range("B7").Select
If Application.UsableWidth > 745 Then
Zoom = 110
ElseIf Application.UsableWidth < 600 Then
Zoom = 100
Else
Zoom = 105
End If
ActiveWindow.Zoom = Zoom
ActiveWindow.SmallScroll Down:=-72
ActiveSheet.Protect DrawingObjects:=True, Contents:=True, Scenarios:=True, password:="miete"
ActiveWorkbook.Protect structure:=True, Windows:=False, password:="mietea"
Range("M5").Select
Exit Sub
wohnung:
MsgBox "Es wurden bisher keine Angaben zur Wohnungsgröße vorgenommen. Eine Berechnung" & Chr(13) & "ist daher leider nicht möglich. Bitte korrigieren Sie Ihre Eingaben.", , "Fehlerhafte Eingabe"
Range("F9").Select
Exit Sub
End Sub

Bild

Betrifft: AW: Poste mal deinen Code. o.w.T.
von: Reinhard

Geschrieben am: 12.02.2005 15:19:21
Hi Klaus,
Zellen() und Texte() musst du dir noch anpassen.
Die Variable n geht nicht von 1 bis 3 sondern von 0 bis 2, beavchten wenn du n anpasst auf die Anzahl in Zellen() und Texte()
probiers mal so:
Sub Einblenden_Berechnung()
Application.ScreenUpdating = False
Zellen = Array("F9", "G17", "H22")
Texte = Array("Wohnungsgröße", "Vorbesitzer", "Erstellungsjahr")
For n = 0 To 2
If Range("Eingabe!" & Zellen(n)) = "" Then
Call Meldung("Eingabe!" & Zellen(n), Texte(n))
Exit Sub
End If
Next n
ActiveWorkbook.Unprotect password:="mietea"
Worksheets("Tabelle1").Visible = True
ActiveSheet.Visible = False
Sheets("Tabelle1").Select
ActiveSheet.Unprotect password:="miete"
Selection.AutoFilter Field:=1, Criteria1:=">0", Operator:=xlAnd
ActiveWindow.LargeScroll Down:=-20
Range("B7").Select
Select Case Application.UsableWidth
Case Is > 745
Zoom = 110
Case Is > 600
Zoom = 105
Case Is <= 600
Zoom = 100
End Select
ActiveWindow.Zoom = Zoom
ActiveWindow.SmallScroll Down:=-72
ActiveSheet.Protect DrawingObjects:=True, Contents:=True, Scenarios:=True, password:="miete"
ActiveWorkbook.Protect structure:=True, Windows:=False, password:="mietea"
Range("M5").Select
Application.ScreenUpdating = True
End Sub

Sub Meldung(ByVal Z As String, ByVal T As String)
meld = "Es wurden bisher keine Angaben zur " & T & " vorgenommen. "
meld = meld & "Eine Berechnung" & Chr(13) & "ist daher leider nicht möglich. "
meld = meld & "Bitte korrigieren Sie Ihre Eingaben." & Chr(13) & Chr(13) & "Fehlerhafte Eingabe"
Merker = Range(Z).Interior.ColorIndex
Range(Z).Select
Range(Z).Interior.ColorIndex = 3
Application.ScreenUpdating = True
MsgBox meld
Range(Z).Interior.ColorIndex = Merker
End Sub

Gruß
Reinhard
Bild

Betrifft: AW: Poste mal deinen Code. o.w.T.
von: Klaus
Geschrieben am: 12.02.2005 16:02:41
Danke, werde das 'mal abändern.
 Bild