Top-Themen

AppleEntwicklungHardwareInternetLinuxMicrosoftMultimediaNetzwerkeOff TopicSicherheitSonstige SystemeVirtualisierungWeiterbildungZusammenarbeit

Aktuelle Themen

Administrator.de FeedbackApache ServerAppleAssemblerAudioAusbildungAuslandBackupBasicBatch & ShellBenchmarksBibliotheken & ToolkitsBlogsCloud-DiensteClusterCMSCPU, RAM, MainboardsCSSC und C++DatenbankenDatenschutzDebianDigitiales FernsehenDNSDrucker und ScannerDSL, VDSLE-BooksE-BusinessE-MailEntwicklungErkennung und -AbwehrExchange ServerFestplatten, SSD, RaidFirewallFlatratesGoogle AndroidGrafikGrafikkarten & MonitoreGroupwareHardwareHosting & HousingHTMLHumor (lol)Hyper-VIconsIDE & EditorenInformationsdiensteInstallationInstant MessagingInternetInternet DomäneniOSISDN & AnaloganschlüsseiTunesJavaJavaScriptKiXtartKVMLAN, WAN, WirelessLinuxLinux DesktopLinux NetzwerkLinux ToolsLinux UserverwaltungLizenzierungMac OS XMicrosoftMicrosoft OfficeMikroTik RouterOSMonitoringMultimediaMultimedia & ZubehörNetzwerkeNetzwerkgrundlagenNetzwerkmanagementNetzwerkprotokolleNotebook & ZubehörNovell NetwareOff TopicOpenOffice, LibreOfficeOutlook & MailPapierkorbPascal und DelphiPeripheriegerätePerlPHPPythonRechtliche FragenRedHat, CentOS, FedoraRouter & RoutingSambaSAN, NAS, DASSchriftartenSchulung & TrainingSEOServerServer-HardwareSicherheitSicherheits-ToolsSicherheitsgrundlagenSolarisSonstige SystemeSoziale NetzwerkeSpeicherkartenStudentenjobs & PraktikumSuche ProjektpartnerSuseSwitche und HubsTipps & TricksTK-Netze & GeräteUbuntuUMTS, EDGE & GPRSUtilitiesVB for ApplicationsVerschlüsselung & ZertifikateVideo & StreamingViren und TrojanerVirtualisierungVisual StudioVmwareVoice over IPWebbrowserWebentwicklungWeiterbildungWindows 7Windows 8Windows 10Windows InstallationWindows MobileWindows NetzwerkWindows ServerWindows SystemdateienWindows ToolsWindows UpdateWindows UserverwaltungWindows VistaWindows XPXenserverXMLZusammenarbeit
GELÖST

Zellenfarbe mit if-Abfrage ändern

Frage Microsoft Microsoft Office

Mitglied: AxelF

AxelF (Level 1) - Jetzt verbinden

06.02.2008, aktualisiert 08.02.2008, 15463 Aufrufe, 15 Kommentare

Hallo zusammen,

bin mir sicher es ist eine einfache Frage, aber ich seh den Wald vor Bäumen nicht mehr. Will es aber vermeiden ein Makro oder VBA-Script zu schreiben.

Ich habe eine Notebookverwaltungsliste. Hammerwort, hammerliste.
In der Trage ich nun das Datum ein, an dem ich eine Wartung am Notebook vergenommen habe.
Im unteren Bereich der Liste, steht das aktuelle Datum =Today().
Nun dachte ich mir müsste das ganze doch so gehen:

=if Date(year(G6);month(G6)+6;day(G6)) > Today().... ändere Frabe auf orange,
ist es größer als 12 Monate ändere die Farbe auf rot, ist es unter 6 und 12 Monate ändere Farbe auf grün.

Die Liste dient der Übersicht über Notebooks in der Firma und deren Zustand.

Ist das überhaupt so machbar wie ich mir das Vorstelle oder muss ich da anders ran gehen?
Mit dieser Bedingten Formatierung hat es nicht geklappt.
Wie steuere ich die Farben über Befehle und wie bringe ich die ganzen IF-Abfragen hintereinander?

Wäre super wenn mir einer helfen könnte. Verrenne ich mich da in was?

Gruß & danke schon mal
Flo
Mitglied: creyzee
06.02.2008 um 19:57 Uhr
hallo,

nur mal so ne frage: welche software nutzt du denn? zellen gibt es doch überall...

naja, ich gehe mal von excel aus. was spricht denn gegen vb? mit:

Range("G6").Select
Select Case Date - CDate(ActiveCell.Text)
Case Is <= 183: Selection.Interior.ColorIndex = 43
Case 183 To 365: Selection.Interior.ColorIndex = 6
Case Is > 365: Selection.Interior.ColorIndex = 3
End Select

in die sub von nem schalter gepackt sollte das funktionieren. mit excel geht ansonsten noch die "bedingte formatierung":

- markiere die zellen
- wähle im menü format\bedingte formatierung
- definiere denn zellwert zwischen 0 und 183 und lege mit format den hintergrund auf grün
- definiere denn zellwert zwischen 183 und 365 und lege mit format den hintergrund auf gelb
- definiere denn zellwert zwischen 365 und 99999 und lege mit format den hintergrund auf rot

bis denne

gruß by creyzee
Bitte warten ..
Mitglied: bastla
06.02.2008 um 20:14 Uhr
Hallo AxelF!

"Bedingte Formatierung" ist schon das richtige Stichwort - die Formel ("Formula Is" - nicht "Cell Value Is" verwenden!) muss allerdings geringfügig anders aussehen:
01.
=Date(year($G6);month($G6)+6;day($G6)) > Today()
Durch das "$" vor der Spaltenangabe lässt sich dieses Format dann auch auf die restlichen Zellen der Zeile übertragen. Wenn Du noch Today() durch einen Zellbezug (in diesem Fall zur Gänze absolut, also etwa $G$1) ersetzt, kannst Du anstatt "Today()" einen beliebigen Stichtag verwenden.

Grüße
bastla
Bitte warten ..
Mitglied: manuel-r
06.02.2008 um 20:16 Uhr
Wie wär's damit
01.
=TEXT(HEUTE();"#")-TEXT(A4;"#")>180
für die bedingte Formatierung. Hab' das eben mal getestet. Und wenn ich dich richtig verstanden habe macht es genau das, was du willst. In A4 steht in dem Beispiel das fragliche Datum; die 180 entsprechend für 180 Tage Differenz. Bei den Optionen der bedingten Formatierung musst du vorher von Zellwert ist auf Formel ist umstellen.

Manuel
Bitte warten ..
Mitglied: AxelF
07.02.2008 um 00:19 Uhr
Guten Abend,

erstmal vielen Dank für die schnellen Antworten.
Werde diese gleich morgen früh testen und euch wissen lassen ob es das ist was ich wollte; glaube aber schon das eines davon geht, nun habe ich ja eine Auswahl

Vielen Dank nochmal.
Bitte warten ..
Mitglied: AxelF
07.02.2008 um 07:58 Uhr
Morgen zusammen,

creyzee sagmal, wie mache ich des dann wenn ich deine Lösung auf die anderen Spalten ausweiten will? Ich brauch immer a weng bis ichs kapier
Ich habe jetzt G6 fix drin stehen, sprich ich kann ja nicht einfach wie in Excel normal, die "Formel" auf die anderen Zellen übertragen. Die Liste geht ab G6 los und endet im Augenblick bei G33, wobei immer wieder spalten hinzu & weggenommen werden. Es wäre also dynamisch.
Wie setze ich das in die Tat um und woher bekomme ich die Zahlen / Angaben für die Farben?
Danke dir schonmal.


Gruß
Flo
Bitte warten ..
Mitglied: AxelF
07.02.2008 um 20:24 Uhr
Abend zusammen,

habe nun endlich eine passende Lösung gefunden, welche auch zellenunabhängig funktioniert.

Private Sub CommandButton1_Click()
Dim today As Date
Dim d As Date

today = Now()

d = ActiveCell.Value

t = today - d

Select Case t

Case Is <= 183: Selection.Interior.ColorIndex = 4
Case 183 To 365: Selection.Interior.ColorIndex = 6
Case Is > 365: Selection.Interior.ColorIndex = 3

End Select
End Sub

Man geht mit der Maus auf die Zelle in der das Datum steht und klickt "Wartunszustand abfragen". Damit wird die Variable t berechnet. Die Berechnung nimmt das aktuelle Datum und zieht das Datum, den Wert in der Zelle" davon ab. Somit erhält man eine Zahl.
Diese wird, wie im 1. Vorschlag von creyzee, mit verschiedenen Möglichkeiten verglichen.
An hand derer, welche zutrifft, wird die Farbe der Zelle gesetzt.

Danke nochmals für die Anregungen.
Falls Frage, fragen.

Gruß
Flo
Bitte warten ..
Mitglied: bastla
07.02.2008 um 21:47 Uhr
Hallo AxelF!

Obwohl ich selbst gerne Scripts einsetze, frage ich mich in diesem Fall trotzdem, warum Du die auf einzelne Zellen bezogene VBA-Lösung der ohne weiteres Zutun dauernd sichtbaren "Bedingten Formatierung" vorziehst?

Grüße
bastla
Bitte warten ..
Mitglied: AxelF
08.02.2008 um 07:47 Uhr
Hi bastla,

es geht ist die schwierigkeit mit dem Gelb. Im VB kann ich sagen Case 183 to 365, wie schreibe ich sowas in die Bedingteformatierung? Ich bekomme entweder alles gelb oder rot angezeigt wenn ich das damit versuche. Weil einfach die < > Zeichen nicht sitmmen, da ich nicht angeben kann von wann bis wann die Formel greifen soll. Wenn du eine Lösung hast, wie ich das schreibe, versuche ich es gerne. Lerne immer gerne dazu.


Gruß
Flo
Bitte warten ..
Mitglied: bastla
08.02.2008 um 10:44 Uhr
Hallo AxelF!

Mit "Hinzufügen >>" kannst Du (auch in älteren Excel-Versionen zumindest 2) weitere Bedingungen verwenden, sodass Du, zusammen mit der "normalen" Formatierung der Zelle, insgesamt 4 Fälle unterscheiden kannst.

Grüße
bastla
Bitte warten ..
Mitglied: AxelF
08.02.2008 um 10:49 Uhr
Hi bastla,

das meine ich nicht. Es sind aber im Office 2003 maximal 3.
Die eine würde > das bekommen und auf grün setzen.
Die zweite sollte ja den Range zwsichen den 183 und 365 darstellen; welches Zeichen gebe ich der?
Wie stelle ich das in der Formel da? Die dirtte Formal wrüde < bekommen. Sprich Endergebnis:

1. Formel
=Date(year($G6);month($G6)+6;day($G6)) > Today()

2.Formel
=Date(year($G6);month($G6)+??;day($G6)) ?? Today()

3. Formel
=Date(year($G6);month($G6)+12;day($G6)) > Today()

Verstehst du was ich meine? Wie gebe ich die Bedingung dazwischen an?

Gruß
Flo
Bitte warten ..
Mitglied: bastla
08.02.2008 um 11:11 Uhr
Hallo AxelF!

Wie gebe ich die Bedingung dazwischen an?
Indem Du eine sinnvolle Reihenfolge wählst: Bei Bedingung ">" mit der Überprüfung des größten Wertes beginnen ...

Es sind aber im Office 2003 maximal 3.
... womit ich bei der Addition 3 bedingte Formate + 1 "normales" Format trotzdem auf die angeführten 4 Fälle komme.

Grüße
bastla
Bitte warten ..
Mitglied: AxelF
08.02.2008 um 11:21 Uhr
Hi bastla,

also ich bekomms nicht so nicht hin.
Das mit dem Script läuft am Besten und als einziges zuverlässig.
Egal wie ich die Formel in die Bedingte Formatierung eintrage, er macht mir keinen Status gelb.
Aber trotzdem danke.

Gruß
Flo
Bitte warten ..
Mitglied: bastla
08.02.2008 um 16:02 Uhr
Hallo AxelF!

Ich habe ja keineswegs vor, Dich zu Deinem Glück zu zwingen , aber wenn Du folgende Formeln (in dieser Reihenfolge und mit den Farben Grün, Gelb und Rot) verwendest, klappt es auch mit der bedingten Formatierung:
01.
=(Today()-$G6)<=183 
02.
=(Today()-$G6)<=365 
03.
=(Today()-$G6)>365
Grüße
bastla
Bitte warten ..
Mitglied: AxelF
08.02.2008 um 16:13 Uhr
Hi bastal,

danke für den Vorschlag
Nu hab ich aber das Problem das er den 29.06.2006 als gelb markiert und nicht als rot, wie es sein sollte. Woran kann das liegen?

Gruß
Flo
Bitte warten ..
Mitglied: bastla
08.02.2008 um 16:43 Uhr
Hallo AxelF!

29.06.2006 als gelb markiert
Schwer erklärlich (und bei mir auch nicht nachvollziehbar) - bist Du sicher, dass das Datum richtig eingetragen ist? Versuch vielleicht, über das Menü "Edit / Delete / All" den gesamten Zellinhalt zu löschen, das Datum nochmals einzugeben und dann das Format zu übertragen.

Grüße
bastla
Bitte warten ..
Neuester Wissensbeitrag
Windows 10

Powershell 5 BSOD

(6)

Tipp von agowa338 zum Thema Windows 10 ...

Ähnliche Inhalte
C und C++
gelöst IF Abfrage funktioniert nicht mehr (2)

Frage von pablovic zum Thema C und C ...

Datenbanken
gelöst IF Abfrage im SELECT Oracle SQL (2)

Frage von Roadrunner777 zum Thema Datenbanken ...

Heiß diskutierte Inhalte
LAN, WAN, Wireless
gelöst Server erkennt Client nicht wenn er ausserhalb des DHCP Pools liegt (28)

Frage von Mar-west zum Thema LAN, WAN, Wireless ...

Windows Server
Server 2008R2 startet nicht mehr (Bad Patch 0xa) (18)

Frage von Haures zum Thema Windows Server ...

Outlook & Mail
Outlook 2010 findet ost datei nicht (18)

Frage von Floh21 zum Thema Outlook & Mail ...

Netzwerkmanagement
gelöst Anregungen, kleiner Betrieb, IT-Umgebung (17)

Frage von Unwichtig zum Thema Netzwerkmanagement ...