Live-Forum - Die aktuellen Beiträge
Datum
Titel
28.03.2024 21:12:36
28.03.2024 18:31:49
Anzeige
Archiv - Navigation
996to1000
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 per VBA

bedingte formatierung per VBA
07.08.2008 14:50:06
Tom
Hallo,
ich probiere mich schon eine ganze Weile an einer bedingten Formatierung.
Ich hab es mittels der in Excel eingebauten "Bedingten Formatierung" probiert, aber leider nichts gefunden.
Ich kann zwar die Zellenfarbe und Schriftart ändern, daas war ich aber nicht kann ist die Textausrichtung.
Ich würde gern alle Zellen in Spalte D soweit formatieren, dass bei Änderung der Zelle der Wert
Hauptprojekt
soll: Fett, Arial 10 (ist ja meist sowieso so), LINKSBÜNDIG, Hintergrund in .ColorIndex = 40
Teilprojekt
soll: normal, Arial 10 (ist ja meist sowieso so), RECHTSBÜNDIG, Hintergrund in .ColorIndex = 36
Ich peils einfach nicht.
Danke schonmal!
Der Tom

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

Betreff
Datum
Anwender
Anzeige
AW: bedingte formatierung per VBA
07.08.2008 15:04:00
Daniel
Hi
die Bedingte Formatierung kann auch noch keine Ausrichtung beieinflussen, spätere Excelvarianten vielleicht, aber 2002 und wahrscheinlich auch 2003 nicht.
aber du kannst ja Haupt- und Teilprojekte mit dem Autofilter filtern (Benutzerdefiniert; Beginnt mit "H") und dann die Formate von Hand einstellen.
so schnell wird sich ein Teilprojekt nicht in ein Hauptprojekt umwandeln, als das hier ein Schnelles reagieren mit der Bedingten Formatierung erforderlich wäre.
btw ich würde trotzdem die Teil- und Hauptprojekt-benennungen in unterschiedliche Spalten aufteilen.
Gruß, Daniel

Anzeige
AW: bedingte formatierung per VBA
07.08.2008 15:12:00
Tom
Aber mittels VBA kann ich doch einer Zelle die Formatierung - und auch links rechts zuweisen?!
Dass muss gehen...hab ich schon mal gesehen!
Der Tom

das geht ja auch ...
07.08.2008 15:35:00
Matthias
Hallo Tom
... aber Du hast nach bedingter Formatierung gefragt.
Mit VBA ist es kein Problem, aber Du solltest evtl. genauer erläutern, was wann wo und warum passieren soll.


In VBA gibt es diese z.B. Befehle
.Font.Bold = True
.Font.Name = "Arial"
.HorizontalAlignment = xlLeft


Gruß Matthias

AW: das geht ja auch ...
07.08.2008 15:52:29
Daniel
Hi Tom
da muss ich Matthias recht geben.
aber auch wenn du eine VBA-Lösung schreibst, würde ich den autofilter verwenden, um unsinnige Schleifen zu vermeiden.
Gruß, Daniel

Anzeige
Erstelle Dir doch selbst eine bedingte ...
07.08.2008 15:40:00
Backowe
Hi Tom,
... Formatierung. Anbei mal ein kleines Beispiel wie man sowas umsetzen kann, Code kommt in das Tabellenblatt!
VBA-Code:
Private Sub Worksheet_Change(ByVal Target As Range)
If Not Intersect(Target, Columns("D")) Is Nothing And Target.Count = 1 Then
  With Target
    Select Case Target
      Case 1
        .Font.Name = "Arial"
        .Font.Size = 10
        .HorizontalAlignment = xlLeft
        .Interior.ColorIndex = 40
      Case 2
        .Font.Name = "Arial"
        .Font.Size = 10
        .HorizontalAlignment = xlRight
        .Interior.ColorIndex = 36
      Case Else
        .Font.Name = "Arial"
        .Font.Size = 10
        .HorizontalAlignment = xlGeneral
        .Interior.ColorIndex = xlNone
    End Select
  End With
End If
End Sub
Gruss Jürgen

Anzeige
AW: Erstelle Dir doch selbst eine bedingte ...
07.08.2008 15:55:00
Tom
Ja aber wie weis denn jetzt Case 1, dass er das nur machen soll wenn in der Zelle Hauptprojekt steht?
Der Tom

Case 1 heißt nur, wenn in der Zelle ..
07.08.2008 16:10:51
Backowe
Hi,
... eine 1 steht, formatiert er nach der ersten Bedingung, bei 2 nach der zweiten Bedingung und wenn irgendetwas anderes dasteht als 1 oder 2 wird die Zelle auf "Standard" gesetzt.
Ich kenne Deine Bedingungen nicht, ich habe was gelesen von Haupt und Teilprojekt. Ich tippe jetzt einfach mal ins Blaue.
VBA-Code:
Private Sub Worksheet_Change(ByVal Target As Range)
If Not Intersect(Target, Columns("D")) Is Nothing And Target.Count = 1 Then
  With Target
    Select Case Target
      Case "Hauptprojekt"
        .Font.Name = "Arial"
        .Font.Size = 10
        .HorizontalAlignment = xlLeft
        .Interior.ColorIndex = 40
      Case "Teilprojekt"
        .Font.Name = "Arial"
        .Font.Size = 10
        .HorizontalAlignment = xlRight
        .Interior.ColorIndex = 36
      Case Else
        .Font.Name = "Arial"
        .Font.Size = 10
        .HorizontalAlignment = xlGeneral
        .Interior.ColorIndex = xlNone
    End Select
  End With
End If
End Sub

Anzeige
AW: Erstelle Dir doch selbst eine bedingte ...
07.08.2008 17:06:00
Tom
So...genau so!
War ja auch zum nachdenken klar.... Aber ich werd wohl meinen Urlaub im Kopf haben....also...ich werd dann mal für eine Woche die Füße hochlegen!
Vielen Dank für die Hilfe!
Der Tom

300 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige