Live-Forum - Die aktuellen Beiträge
Datum
Titel
28.03.2024 21:12:36
28.03.2024 18:31:49
Anzeige
Archiv - Navigation
1108to1112
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

bedingte Formatierung anhand Datum i. Kommentar?

bedingte Formatierung anhand Datum i. Kommentar?
Wolfgang
Hallo,
wäre denkbar, dass anhand eines Kommentars bzw. des darin enthaltenen Datums der Zellhintergrund auf gelb geändert wird, wenn seit dem Datum mehr als 4 Wochen vergangen sind und der Zellinhalt mehr als 0 beträgt? - Abgefragt werden sollen dabei die Spalten I2:K der Tabelle "Daten". Untenstehend ein Auszug aus dem Code der den Kommentar einfügt. - Danke schon jetzt für die Rückmeldungen.
Gruß - Wolfgang
Sub Kommentar ()
If Cells(intZ, spalte).Value > 0 Then
On Error Resume Next
Cells(intZ, spalte).AddComment
On Error GoTo 0
Cells(intZ, spalte).Comment.Text Text:=Format(Date, "DD.MM.YYYY") & Chr(10) & Environ("Username" _
)
End If
Next spalte
End Sub

8
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Benutzer
Anzeige
Du benötigst eine udFkt (VBA-Fktsprozedur),...
17.10.2009 03:03:37
Luc:-?
...Wolfgang,
- denn in der bedingten Formatierung kannst du nur Fmln/Fktt einsetzen -, die die Kommentare ausliest, das enthaltene Datum isoliert und mit dem aktuellen vglt. Alles Weitere wäre dann ganz normal zu erledigen. Alternativ kannst du natürlich eine VBA-Subroutine verwenden, die den gleichen Vgl macht und dann die Zellfarbe dauerhaft verändert (ohne BedingtFormat).
Gruß Luc :-?
AW: Du benötigst eine udFkt (VBA-Fktsprozedur),...
17.10.2009 05:34:50
Wolfgang
Hallo Luc,
danke für Deine Rückantwort.- Wie muß ich das machen, um eine udFkt zu bekommen? Ich habe keine Ahnung was das ist oder bedeuten könnte. Wäre sehr dankbar für weitere Hinweise.
Gruß - Wolfgang
Anzeige
Eine solche udFkt habe ich,...
17.10.2009 15:37:23
Luc:-?
...Wolfgang,
und wollte sie dir hier auch zV stellen, musste aber Folgendes feststellen:
Unter xl9 hatte sie zumindest bei manuellem Berechnungsmodus einwandfrei fkt... Jetzt habe ich sie mal an der von dir geschilderten Problematik unter xl12 getestet. Hat zuerst auf Anhieb fkt, aber als ich dann versucht habe, mit einer anderen udFkt die BedingtFormatierung auszulesen, fing die Katastrofe an... Ende vom Lied: Nichts ging mehr - keine Zelle ließ sich mehr ansprechen, Abstürze ohne Ende, willkürliche Adresssetzungen und natürlich kein Ergebnis mehr. Wenn ich Pech habe, hat's das ganze xl12 zerschossen. Absolut unverständlich — beweist, xl12 ist kein Excel mehr, heißt nur noch so, sondern was völlig anderes...! :-(
Naja, könnte natürlich auch an Rückkopplungseffekten über verwendeten ...Caller bzw ...ActiveCell liegen, die xl12 weniger toleriert...
Du hast zwar xl10, aber ich empfehle auf Grund dieser Erfahrung sicherheitshalber die Alternative. Dazu könntest du zT auch per Makrorecorder kommen und im Herber-Archiv zusätzlich fündig wdn. Das setzt allerdings voraus, dass du dich mal etwas intensiver mit VBA befasst, denn mit xlStandard ist da (wohl auch unter xl12) nichts zu machen...
Gruß Luc :-?
PS: Falls du trotzdem gerne auf eigenes Risiko selbst die o.g. udFkt testen möchtest - mitteilen...!
Anzeige
Teilweise Entwarnung
17.10.2009 19:16:25
Luc:-?
So, Wolfgang,
jetzt habe ich die Ursache gefunden... ;-)
Ich hatte diese etwas exotische udFkt wohl noch nie in der BedingtFormatierung eingesetzt. Das führt nämlich schon unter xl9 zu instabilen xlZuständen, wohl, weil die udFkt etwas tut, was Fktt üblicherweise verboten ist — sie öffnet Autoformen. Sie ändert sie zwar nicht, das würde gar nicht gehen, aber schon das Textlesen wird sowohl von der BedingtFormat- als auch der Namensregie nicht toleriert! Nur die Arbeitsblattregie nimmt das „gelassener", so dass es möglich wäre, hier mit Hilfszellen zu arbeiten, die die Formel für das BedingtFormat aufnehmen. Im BedingtFormat muss dann nur noch der Wert dieser Zellen - WAHR oder FALSCH - abgefragt wdn.
Also, wenn diese Einschränkung für dich akzeptabel ist, werde ich die udFkt hier einstellen...
Gruß Luc :-?
Anzeige
AW: Teilweise Entwarnung
18.10.2009 10:20:59
Wolfgang
Hallo Luc,
Danke für Deine Rückmeldung und sorry, dass ich mich jetzt erst zurückmelde. Ich habe keine Ahnung von udFkt, so dass ich leider nicht beurteilen kann, inwieweit ich hierüber die Abfrage steuern kann. Ich vertraue daher voll Deiner Aussage. Sollte ich darüber das Ziel erreichen können, Kommentare in Spalte I:K abfragen zu können und ggfs. markieren zu können, wenn zwischen Datum im Kommentar und Systemdatum mehr als 4 Wochen liegen, wäre ich sehr interessiert. Wäre dann sich dankbar, wenn Du mir zum Handling noch Hinweise geben könntest. Danke schon jetzt wieder für Deine Rückmeldung.
Herzliche Grüsse
Wolfgang
Anzeige
Hatte heute noch gar nicht mit dir...
18.10.2009 13:10:32
Luc:-?
...gerechnet, Wolfgang... ;-)
So, dann folgt hier die udFktt, die du in dein Projekt wie folgt integrieren musst:
In den VBEditor wechseln → im Projektexplorer (links oben, Baumstruktur) mit rechter _ Maustaste auf ein Dokument der Mappe klicken → Einfügen wählen → Modul wählen → Modul1 wird eingefügt (dort sollte schon Option Explicit stehen, kann in den VBE-Optionen eingestellt wdn). Danach jetzt das Folgende einfügen...

Rem Fkt gibt exist Inhalt/Text verschiedener Objekte wieder
'   Arg1: fehlt/Bezug/Name => aktZelle/Obj(in)Zelle/(Zell)Objekt
'   Arg2: fehlt/0/0 => Zellwert/-formel/-kommentar-/AutoformText
'   Darf nicht direkt in benannten (Namensbezüge) u.BedingtFormat-Fmln
'   verwendet wdn, weil das zu instabilen xlZuständen führen kann!
'   Vs1.1b -LSr\CyWorXxl -crd:20070417 -fpub:20091018herber -lupd:20091017t
Function TextOf(Optional ByVal ObName, Optional ByVal ObTyp)
Dim i As Long, t As String, OTyp As Integer, x As Shape
On Error Resume Next
If IsError(Application.Caller.Address) Then
If IsMissing(ObName) Then Set ObName = ActiveCell
ElseIf IsMissing(ObName) Then
Set ObName = Application.Caller
End If
If IsMissing(ObTyp) Then
Select Case TypeName(ObName)
Case "Range"
TextOf = ObName.Value
Case "String"
TextOf = Range(ObName).Value
Case Else
End Select
Else: OTyp = ObTyp Mod 2
Select Case OTyp
Case Is > 0
Select Case TypeName(ObName)
Case "Range"
For Each x In ActiveSheet.Shapes
With ObName
If (x.Left >= .Left And x.Left = .Top And x.Top  .Left And _
x.Left + x.Width  .Top And x.Top + x.Height  255 Zeichen
i = 0
With x.TextFrame
Do While Not IsError(.Characters(i + 256, 1).Text)
t = t & .Characters(Start:=i + 1, Length:=255).Text
If t = TextOf Then Exit Do Else TextOf = t
If IsEmpty(TextOf) Then Exit Do
i = i + 255
Loop
If Not IsError(.Characters(i + 1, 1).Text) Then
TextOf = TextOf & .Characters(Start:=i).Text
End If
End With
Return
ex: Set ObName = Nothing: Set x = Nothing
End Function
Über das 2.FktsArgument wird angegeben, was ausgelesen wdn soll...
1. fehlt → Wert der in Arg1 angegebenen bzw eigenen Zelle
2. 0 → Formel der in Arg1 angegebenen bzw eigenen Zelle
3. <0 → Kommentar der in Arg1 angegebenen bzw eigenen Zelle
4. >0 → Textfeld (Autoform mit Text), dessen linke obere Ecke sich auf der in Arg1 angegebenen bzw eigenen Zelle befindet bzw dessen Name als Arg1 notiert wurde.
Daraus kann man wohl erkennen, dass die udFkt TextOf auch noch für andere Zwecke eingesetzt wdn kann. Das im Vorspann genannte Verbot gilt dann natürl nur für die Einsatz­varianten 3+4.
In deinem Fall schreibst du jetzt in eine Hilfszelle des Blattes =HEUTE()-TEIL(TextOf(C29;-1);SUCHEN(JAHR(HEUTE());TextOf(C29;-1))-6;10)>28 bzw eine entsprechend angepasste Fml, die aus dem von TextOf gelieferten Kommentartext der (hier) Zelle C29 das dort enthaltene Datum isoliert. In der BedingtFormatFormel der (hier) Zelle C29 muss dann nur auf die Hilfszelle verwiesen wdn, da die ja bereits das für die Bedingungs­erfüllung benötigte WAHR bzw FALSCH enthält.
Gruß+schöSo, Luc :-?
Anzeige
AW: Hatte heute noch gar nicht mit dir...
18.10.2009 17:47:35
Wolfgang
Hallo Luc,
herzlichen Dank für Deine erneute Rückmeldung und Überlassung der Funktion; Da werde ich noch etliche Zeit benötigen, um das so umzusetzen, wie Du es beschrieben hast. Ich werde mir Mühe geben und mich zeitnah wieder melden, um das Ergebnis bzw. den Sachstand zu berichten. Einstweilen herzlichen Dank noch einmal und einen schönen "Rest"-sonntag noch.
Gruß - Wolfgang
Ja, dito, bis dann! Gruß owT
18.10.2009 22:14:41
Luc:-?
:-?

317 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige