Feldfarbe verändern

Informationen und Beispiele zu den hier genannten Dialog-Elementen:
MsgBox
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

Beiträge aus den Excel-Beispielen zum Thema "Letzte Spalte in Liste löschen"