Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1348to1352
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

Excel Spalte Bedingte Formatierung per VBA

Excel Spalte Bedingte Formatierung per VBA
25.02.2014 20:28:36
MasterEytukan
Guten Abend,
folgendes Problem:
Ich habe eine Spalte A in der das Datum für den Eingetragenen Besucher Steht.
Mal Sind es 10 Besucher am Tag mal mehr... Jetzt möchte ich gerne, dass Wenn ein Neuer Tag beginnt das Datum per VBA Eine Rote Schrift und Fett Formatiert wird.
Ich muss Allerdings vermeiden, das die Formatierung geändert werden kann, deswegen per VBA. Wie definiere ich jetzt das er Nachschauen soll ob die Zelle die Formatiert wird größer ist als die zelle davor. Zum Beispiel: A3>A2 dann Anwenden Sonst nichts.
Mein Ansatz war dieser:
Private Sub Worksheet_Change(ByVal Target As Range)
Dim objCell As Range
For Each objCell In Target
If Not Intersect(objCell, Range("A:A")) Is Nothing Then
With objCell
Select Case .Value
Case >Case-1
.Font.Name = "Arial"
.Font.Size = 14
.Font.ColorIndex = 3
.Interior.ColorIndex = 2
End Select
End With
End If
Next
End Sub

Wie ich Bestimmte werte auslese ist mir nun Klar, aber wie ich die Bedingung Formuliere ist mir Unklar.
Danke schonmal im Vorraus für Eure Hilfe.

5
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
Was hat das mit Bedingter Formatierung zu tun? orT
25.02.2014 21:51:19
Luc:-?
Gruß Luc :-?

AW: Excel Spalte Bedingte Formatierung per VBA
26.02.2014 07:56:20
hary
Moin
Option Explicit
Dim clngDatum As Long
Private Sub Worksheet_Change(ByVal Target As Range)
Dim objCell As Range
If Not Intersect(Target, Columns(1)) Is Nothing Then
For Each objCell In Target
With objCell
Select Case CLng(.Value)
Case Is > clngDatum
.Font.Name = "Arial"
.Font.Size = 14
.Font.ColorIndex = 3
.Interior.ColorIndex = 2
Exit For
End Select
End With
Next
End If
End Sub
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Not Intersect(Target, Columns(1)) Is Nothing Then
clngDatum = Application.Max(Columns(1))
End If
End Sub

sieht dann so aus:



Tabelle1
 A
101.01.2014
201.01.2014
302.01.2014
402.01.2014
506.01.2014
606.01.2014
706.01.2014

http://excel-inn.de/dateien/vba_beispiele/tabellenanzeige_in_html_addin.zip
http://hajo-excel.de/tools.htm
XHTML-Tabelle zur Darstellung in Foren, einschl. der neuen Funktionen ab Version 2007
Add-In-Version 14.02 einschl 64 Bit

gruss hary

Anzeige
AW: Excel Spalte Bedingte Formatierung per VBA
26.02.2014 08:20:49
MasterEytukan
Guten Morgen Hary,
Du bist mein Held... Danke Danke Danke...
Seid zwei Wochen Probier ich alles hin und her...
Doch das ich im das so sagen muss...
Deshalb liebe ich dieses Forum so sehr...
Hier bekommt man die Richtigen Antworten...
Danke Danke Danke...

Widerspricht sich selbst...
26.02.2014 08:46:55
EtoPHG
Hallo,
Zitat:Ich muss Allerdings vermeiden, das die Formatierung geändert werden kann, deswegen per VBA.
Dann ist aber der VBA-Ansatz (auch der von Hary) völlig ungeeignet. Die Formatierung wird zum Zeitpunkt Änderung des Zellwerts gemacht. D.h. die Formatierung kann vom Benutzer jederzeit wieder zerschossen werden!
Das würde bei einer 'echten' bedingten Formatierung (nicht über VBA) nicht möglich, d.h. auch wenn der Benutzer die Formatierung ändern würde, wird sie von der Bedingten Formatierung übersteuert!
Gruess Hansueli

Anzeige
AW: Widerspricht sich selbst...
26.02.2014 09:46:21
MasterEytukan
Hi,
EtoPHG du hast recht. Hab gerade mal Strg+X Probiert.
Leider Zerschießt er die Formel. Auch Das Kopieren ändert die Formatierung ab.
Ich habe sonst immer das Problem, dass eine Kollegin die bedingte Formatierung innerhalb einer Zelle durch Ausscheiden oder Falsches Kopieren durcheinander Bringt. Dann Arbeitet die Bedingte Formatierung nicht mehr Richtig. Zudem kommt es mit Zu vielen Bedingungen dazu, dass die Excel Datei langsamer wird.
Ich muss dem entsprechend eine Lösung finden, indem die Formel immer greift und nicht geändert werden kann (Ausser man kennt sich in VBA aus).
Anzeige

313 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige