Anzeige
Archiv - Navigation
780to784
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
780to784
780to784
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Position farbiger Zellen

Position farbiger Zellen
11.07.2006 14:15:14
Excelist
Guten Tag!
Habe ein wichtiges Problem und habe nach tagelangem Suchen noch nicht die richtige Lösung gefunden. Es geht um Folgendes:
In einer Zeile stehen an beliebiger Stelle ( Bsp. Spalte F, G, H, I)Zellen mit fargbigem Hintergrund. Es existieren x-Zeilen mit jeweils anderer Position dieser farbigen Zellen ( Bsp: in der fogenden Spalte dann G, H, I, J )
Nun gilt es mit einer Excelformel in einer Zelle sich folgende Position anzeigen zu lassen: Pro Zeile: Zeige die Position der Spalte an, an der die erste z.B. Gelbe Zelle steht.
Meines Wissens nach ( beschränkt), ist es sehr schwierig über eine Formel in einer Zelle dies zu bewerkstelligen, allerdings wäre ich auch zufrieden über eine Zellenformel ein Makro auszuführen.. oder ähnliches.. habe bis jetzt nur vage Ideen, aber nichts konkretes.... kann jemand helfen?
Vielen Dank im Voraus.
Gruß.

13
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Position farbiger Zellen
11.07.2006 15:23:59
Excelist
Hallo - vielen Dank für die Mithilfe.
Der Link war informativ, löst aber leider mein Problem nicht, da ich keine Zellen aufsummieren möchte, sondern nur die Position der ersten Farbzeile herausbekommen muss.
Zumindest ist mir keine Möglichkeit eingefallen, wie ich das mit der formel farbsumme umsetzen kann.. any ideas?
Gruß.
AW: Position farbiger Zellen
11.07.2006 14:31:51
UweD
Hallo
so?

Sub farbig()
Dim Z&, i%
Z = 19 ' Beispiel für Zeile19
For i = 1 To 255
If ActiveSheet.Cells(Z, i).Interior.ColorIndex <> xlNone Then
MsgBox "Zelle " & Cells(Z, i).Address(RowAbsolute:=False, ColumnAbsolute:=False)
End If
Next
End Sub

Gruß UweD
(Rückmeldung wäre schön)
Anzeige
Schreibfehler ...
11.07.2006 14:40:26
UweD
Hallo
muß sein...
For i = 1 To 256
Gruß UweD
(Rückmeldung wäre schön)
AW: Schreibfehler ...
11.07.2006 15:13:19
Excelist
Habe leider nicht so viel Ahnung von Makros und VBA, aber soweit ich das verstehe bezieht sich folgende Zeile ausschließlich auf die im Makro benannte Zeile:
Z = 19 ' Beispiel für Zeile19
Mein Problem ist zusätzlich, dass das Makro Zeilenunabhängig einsetzbar sein muss ( in der Formel der Zelle steuerbar)
+
Würde ich dann diese Makrofunktion über die Zellenformen =farbig() aufrufen, oder geht das anders?
Dank für Hilfe.
Grüße.
AW: Schreibfehler ...
11.07.2006 16:19:05
Martin
Hallo ?,
folgenden Code in ein normales Modul:

Function Erste_Farbige_Zelle(ZeilenNr As Long)
Application.Volatile
For i = 1 To 256
If Cells(ZeilenNr, i).Interior.ColorIndex <> xlNone Then
Erste_Farbige_Zelle = Cells(ZeilenNr, i).Address(RowAbsolute:=False, ColumnAbsolute:=False)
Exit For
End If
Erste_Farbige_Zelle = "Keine farbige Zelle in Zeile " & ZeilenNr & "."
Next i
End Function

Formel für eine beliebige Zeile, z.B. 5:
=Erste_Farbige_Zelle(5)
Formel für die Zeile, in die die Formel eingegeben wird:
=Erste_Farbige_Zelle(ZEILE())
Achtung:
1. Die Funktion funktioniert nur, wenn die Farben nicht über ein bedingte Formatierung erzeugt, sondern manuell "eingegeben" wurden.
2. Das Formelergebnis wird nicht automatisch angepaßt, wenn eine weitere Zelle farbig markiert wird.
Gruß
Martin Beck
Anzeige
AW: Schreibfehler ...
11.07.2006 17:06:09
Excelist
Vielen Dank für diesen Supercode!!
Kann den Code zum größten TEil nachvollziehen und bestätige, dass es das ist was ich suche *freu*.
Wenn Ihnen es keine Mühe macht, dürfte ich noch danach fragen, wie ich nach einer bestimmten Farbe in der Excelformel suchen kann ( also irgendwie so wie =Erste_Farbige_Zelle(5;6)(wobei die 6 dann für ein gelbes Farbfeld steht)
In der HOffnung, dass sie mir da auch noch weiterhelfen können, verbleibe ich dankend!!!
AW: Schreibfehler ...
11.07.2006 17:37:35
Martin
Hallo ?,
hier ist das Du und die Angabe eines Real(vor)namens üblich.

Function Erste_Farbige_Zelle_mit_Farbauswahl(ZeilenNr As Long, Farbindex As Integer)
Application.Volatile
For i = 1 To 256
If Cells(ZeilenNr, i).Interior.colorindex = Farbindex Then
Erste_Farbige_Zelle_mit_Farbauswahl = Cells(ZeilenNr, i).Address(RowAbsolute:=False, ColumnAbsolute:=False)
Exit For
End If
Erste_Farbige_Zelle_mit_Farbauswahl = "Keine Zelle mit der angegebenen Farbe in Zeile " & ZeilenNr & "."
Next i
End Function

Aufruf der Funktion wie in Deinem Beispiel.
Gruß
Martin Beck
Anzeige
AW: Schreibfehler ...
11.07.2006 22:05:35
Excelist
Vielen Dank Martin!
Werde es direkt ausprobieren,...
Gruß
Tassilo
ps: kein Thema, habe in der Haktik des Gefechts meinen Namen vergessen ;) - wollte sonst nur höflich bleiben!
AW: Schreibfehler ...
11.07.2006 22:21:56
Excelist
Hey, funktioniert wirklich klasse!
Jetzt habe ich gedacht, ich könnte das so einfach als transferleistung auf die letzte Zelle der gleichen Farbe übertragen.. denkste!
Wenn du mir da noch einmal unter die Arme greifen könntest wäre ich dir wirklich dankbar!
Gruß aus München!
Tassilo
AW: Schreibfehler ...
12.07.2006 15:14:27
Martin
Hallo Tassilo,
ungetestet:

Function Letzte_Farbige_Zelle_mit_Farbauswahl(ZeilenNr As Long, Farbindex As Integer)
Application.Volatile
For i = 256 To 1 Step -1
If Cells(ZeilenNr, i).Interior.colorindex = Farbindex Then
Letzte_Farbige_Zelle_mit_Farbauswahl = Cells(ZeilenNr, i).Address(RowAbsolute:=False, ColumnAbsolute:=False)
Exit For
End If
Letzte_Farbige_Zelle_mit_Farbauswahl = "Keine Zelle mit der angegebenen Farbe in Zeile " & ZeilenNr & "."
Next i
End Function

Gruß
Martin Beck
Anzeige
AW: Schreibfehler ...
11.07.2006 16:32:22
HermannZ
Hallo Excelist; (was für ein Name)
schau dir einmal die Mappe an dort ist auch ein beispiel für die Position einer bestimmten Zelle mit Hintergrundfarbe beschrieben.
das verwendete makro hat den Vorteil das es mit anderen Funktionen zusammenarbeitet und somit mehr Möglichkeiten eröffnet.Im Beispiel ist eine Zusammenarbeit mit der funktion Summenprodukt beschrieben.
https://www.herber.de/bbs/user/34998.xls
gruß hermann
AW: Schreibfehler ...
11.07.2006 16:36:00
UweD
Hallo
hab auch was gebastelt:

Function Farbig(Bereich As Range) As Integer
Dim i%, a, b
Application.Volatile
a = Bereich.Column
b = Bereich.Columns.Count
For i = a To a + b - 1
If Cells(Bereich.Row, i).Interior.ColorIndex <> xlNone Then Exit For
Next
If i = 257 Then i = 0
Farbig = i
End Function

in der Tabelle sieht das dann so aus.
 
 ABCDE
14    
23    
32    
40    
Formeln der Tabelle
A1 : =farbig(1:1)
A2 : =farbig(2:2)
A3 : =farbig(3:3)
A4 : =farbig(4:4)
 

Gruß UweD
(Rückmeldung wäre schön)
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige