Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
468to472
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
468to472
468to472
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Colorindex abfragen
12.08.2004 02:00:40
Der
Ich habe eine umfangreiche Tabelle mit Zellen, die manuell farbig markiert wurden (zB Namensliste mit Frau = rot, Mann = blau, Kind = grün etc.). Da man Farben schlecht in Datenbanken überführen kann, möchte ich nun entsprechend der Farbe in einer neuen Spalte einen verwertbaren Eintrag generieren, zB eben "Mann", "Frau" oder "Kind".
Angeblich kann man über den VB-Editor Functionen erstellen, mit denen das geht...
Ich habe es schon mit folgendem VBA-Script probiert:

Function ColorIndex(rng As Selection)
Dim iColor As Long
iColor = rng.Interior.ColorIndex
ColorIndex = Str(iColor)
End Function

und dann in einer Zelle entspr. "=ColorIndex(A1)" eingegeben,
aber irgendwie bekomme ich nur #NAME.
Ich habe Excel 2003 und eigentlich keine Ahnung von VBA, also bitte erst mal kurz "de Dammfmaschien" erklären ;-)) (--> vollständige Codes, erforderliche Add-ins oder was auch immer)
Wer kann mir helfen ? Danke im voraus !

3
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Colorindex abfragen
12.08.2004 02:21:06
Thomas
Hi
Hier zwei Funktionen für Dein Problem. Die eine gibt den ColorIndex zurück, und die andere liefert einen entsprechenden Bezeichner für den Index, such Dir eine aus. Kopiere sie in ein normales Modul, dann kannst Du sie in der Tabelle verwenden.


      
Option Explicit
' Version 1 gibt einen LONG zurück; Gut für die Datenbank.
Public Function GetColorIndex(rng As Range) As Long
    GetColorIndex = rng.Interior.ColorIndex
End Function
' Version 1 gibt einen STRING zurück; Gut für's Verständnis.
Public Function GetColorIndex(rng As Range) As String
    
Select Case rng.Interior.ColorIndex
    
Case 3: GetColorIndex = "Frau"
    
Case 5: GetColorIndex = "Mann"
    
Case 50: GetColorIndex = "Kind"
    
'Case x: GetColorIndex = "Irgendwas anderes ..."
    End Select
End Function 


Gruß
Thomas
Risi Thomas Softwareentwicklung
Anzeige
AW: Colorindex abfragen
12.08.2004 14:58:26
Der
Irgendwie funzt das nicht, wenn ich das im Funktionsassistenten aufrufe (bzw in der Zelle mit ='dateiname.xls'!Module2.GetColorIndex(D54)), dann bekomme ich für das Argument (D54) schon "#VALUE" und im Ergebnis dann natürliuch #NAME.
Woran liegt das ?
AW: Colorindex abfragen ohne VBA
Panicman
Hallo Picknicker,
das kann man auch ohne VBA lösen.
Menü/Einfügen/Namen/Festlegen:
Name: FarbNr
bezeiht sich auf: =ZELLE.ZUORDNEN(63;INDIREKT("ZS(-1)";0))
A1 = deine Zelle mit der Hintergrundfarbe
B1 = FarbNr
das INDIREKT("ZS(-1).. sagt, das die Farbnummer der Zelle rechts daneben (Spalte -1) genommen wird.
Wenn du den Namen 2 Spalten links daneben eingibst, must du INDIREKT("ZS(-2)... eingeben.
Gruß
Holger
Anzeige

29 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige