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

Sortieren per VBA mit ColorIndex?

Sortieren per VBA mit ColorIndex?
19.06.2003 08:37:27
Moritz
Hallo,

per VBA möchte ich die Spalten im Bereich A2:J650 sortieren lassen. Funktioniert auch, nur daß er die ColorIndex-Werte in Spalte F nicht als Zahlen liest, sondern stattdessen die "darunterliegende" Formel in die entsprechenden Zellen (F2:F650) einträgt. Gerade auf diese Zahlen kommt es jedoch an. Obwohl vermutlich recht einfach zu lösen, ist mit gestern dazu nichts eingefallen. Über Hilfe wäre ich sehr dankbar!!! Hier der Code:

Sub SortByID()
With Range("A2:J650")
.Sort , _
Key1:=Range("A1"), _
Order1:=xlAscending, _
Header:=xlGuess, _
OrderCustom:=1, _
MatchCase:=False, _
Orientation:=xlTopToBottom
End With
End Sub

Gruß, M.

4
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
Re: Sortieren per VBA mit ColorIndex?
19.06.2003 08:50:12
Holger Levetzow

kannst du etwas genauer beschreiben, was du suchst? Was hat der Colorindex mit der Sortierung zu tun und was hat die Spalte F damit zu tun (du sortierst doch A:J).

Holger

Re: Sortieren per VBA mit ColorIndex?
19.06.2003 09:06:00
Moritz

Ok, ich habe einen sog. Terminology Checker eingebaut, der Spalte E nach bestimmten Begriffen durchsucht und die Zellen, in denen diese Begriffe auftauchen entrsprechend einfärbt. Nun möchte ich nach Zellfarbe sortieren. Dafür übertrage ich rechts von Spalte E, die ColorIndex-Werte in Spalte F. Wenn ich im Menü nach ColorIndex-Werten sortiren will funktioniert das einwandfrei, nur per VBA eben nicht. Hier der Code:

'Sucht nach "appointed invitation"

Sub appinvColor()
Dim cell As Range
For Each cell In Range("E2:E650")
If InStr(cell.Value, "appointed invitation") > 0 Then
cell.Font.ColorIndex = 29
cell.Interior.ColorIndex = 15
End If
Next cell
End Sub

'Gibt den ColorIndex in Spalte F ein

Function BackgroundColor(rCell As Range)
BackgroundColor = rCell.Interior.ColorIndex
End Function

' In Verbindung mit folgender Formel in den Zellen F2:F650...

=BackgroundColor(E2)

Diese Formel wird beim Sortieren per Makro direkt in die Zelle übertragen, anstatt daß ColorIndex-Wert erhalten bleibt. Die Neuberechnung der ColorIndex-Werte erfolgt über:

Sub Recalc()
Application.CalculateFull
End Sub

Best,

M.


Anzeige
Re: Sortieren per VBA mit ColorIndex?
19.06.2003 09:17:59
Holger Levetzow

warum nutzt du überhaupt eine Function. Trage doch den colorindex per Makro mit ein, z.B. mit: (ungetestet)

Sub appinvColor()
Dim cell As Range
For Each cell In Range("E2:E650")
If InStr(cell.Value, "appointed invitation") > 0 Then
cell.Font.ColorIndex = 29
cell.Interior.ColorIndex = 15
cell.Offset(0, 1) = cell.Interior.ColorIndex
End If
Next cell
End Sub

Holger

Re: Sortieren per VBA mit ColorIndex?
19.06.2003 09:31:36
Moritz

Großartig! Wirklich viel einfacher und jetzt sollte es auch mit dem Sortiren klappen. Best, M.

171 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige