Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
336to340
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
336to340
336to340
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

farbige Formatierung eines Zellenteilbereichs

farbige Formatierung eines Zellenteilbereichs
13.11.2003 13:57:11
Robin Ippendorf
Schönen guten Tag!

Folgendes Problem:

Ich hab eine Spalte mit zwei Teilbereichen, wovon der erste Teil jeweils von Excel erstellt werden soll.
Meine benutzerdefinierte Formatierung dafür: "text1"000.
Funktioniert auch soweit ganz gut, nur möchte ich, dass Excel mir die drei Zahlen (und nur diese drei Zahlen), die ich eingebe, rot darstellt.

Wie muss ich die Zelle dafür formatieren?

Danke im Vorraus...

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

Betreff
Datum
Anwender
Anzeige
AW: farbige Formatierung eines Zellenteilbereichs
13.11.2003 14:54:34
Jörg Gradert
Hallo Robin,
das geht nicht über Zellformate, leider.
Darum hier ein anderer Vorschlag, "text1" mit in die Zelle zu schreiben (automatisch, natürlich und nur im Zielbereich).
Ich habe diesen Zielbereich auf A1:A100 gesetzt
Zum Üben und ausprobieren am besten in einer neuen leeren Mappe. Kopiere untenstehenden Code. Klicke Rechte Maustaste auf den Tabellenblattnamen, Code anzeigen.
Im VBA Editor, der sich so öffnet,rechts in dem grossen Codefenster der Tabelle, füge den kopierten Code mit Strg + V ein.
Schliesse den VBA Editor und probiere die Tabelle aus.
Vorschuss Dank ist zwar in Ordnung, aber für meiner Mühe Lohn, freue ich mich über eine Rückmeldung, ob es geklappt hat. Du findest den Thread leicht wieder, indem Du deinen Namen in das Suchfenster eingibst.

Gruss Jörg




Private Sub Worksheet_Change(ByVal Target As Range)
If Not Intersect(Target, Range("A1:A100")) Is Nothing Then
Target.NumberFormat = "000"
If IsNumeric(Target.Value) And Target.Value > 0 Then
Target.Value = "text1" & Target.Text
End If
With Target.Characters(Start:=6, Length:=3).Font
.ColorIndex = 3
End With
End If
End Sub

Anzeige
Kleiner Schönheitsfehler
13.11.2003 15:02:43
Jörg Gradert
Hallo Robin,
bei Text im Zielbereich soll er natürlich nicht einfärben.
Hier der geänderte Code, musste nur ein End If verschoben werden.
Gruss Jörg


Private Sub Worksheet_Change(ByVal Target As Range)
If Not Intersect(Target, Range("A1:A100")) Is Nothing Then
Target.NumberFormat = "000"
If IsNumeric(Target.Value) And Target.Value > 0 Then
Target.Value = "text1" & Target.Text
With Target.Characters(Start:=6, Length:=3).Font
.ColorIndex = 3
End With
End If
End If
End Sub

AW: Kleiner Schönheitsfehler
13.11.2003 15:55:55
Robin Ippendorf
Hi Jörg!

Also:
Ich hab das Script auf meine Bedürfnisse umgestrickt (wenn das Gerüst steht ist das ja echt einfach ;-) ) und es funktioniert ausgezeichnet...

Dankeschön (macht mir die Arbeit extrem leichter...)

Vielleicht liest man sich ja nochmal...

Robin
Anzeige
AW: Kleiner Schönheitsfehler
13.11.2003 16:37:11
Robin Ippendorf
Mir sind noch zwei Kleinigkeiten eingefallen, von denen ich gerne noch die Syntax wüsste:

1. Den definierten Bereich mit der Eigenschaft Fett versehen (kursiv und unterstrichen wäre dann noch nett zu wissen)

2. Wie erweitere ich den Bereich auf weitere Spalten?

Gruß,

Robin
AW: Kleiner Schönheitsfehler
14.11.2003 10:17:41
Jörg Gradert
Hallo Robin,

Zu 1.
Target.Font.Bold = True 'Fett
Target.Font.Italic = True 'Kursiv
Target.Font.Underline = xlUnderlineStyleSingle 'Unterstrichen

"'Fett" etc. sind Kommentare, können auch so im Programmtext stehen, müssen aber nicht.
Das Hochkomma erzeugst Du mit Shift + #

Zu 2.
Getrennte Bereiche werden durch Komma getrennt eingegeben.
Beispiel:
If Not Intersect(Target, Range("A1:A100,C1:C100")) Is Nothing Then

wenn die Bereiche zusammenhängend sind kannst Du natürlich gleich A1:C100 schreiben.

Tipp: schau dir mal die Makroaufzeichnung mit dem Makrorekorder an.

Gruss Jörg
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige