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

Daten aufgrund der Zellfarbe anspr. und zurückg.

Daten aufgrund der Zellfarbe anspr. und zurückg.
13.06.2007 16:34:47
JStadler
Hallo Leute,
ich hätt da mal eine Frage. Ich habe mittlerweile eine relativ große Arbeitsmappe mit knapp 200 Arbeitsblättern. Diese Arbeitsblätter sind von der Struktur her alle identisch (sprich im Feld B40 steht in allen Arbeitsblättern die Summe o.ä.).
Einige Felder in den Arbeitsblättern sind farblich markiert (der Hintergrund, nicht die Schrift). Und zwar gelb und rot.
Ich möchte nun in einem weiteren Arbeitsblatt die Zellinhalte aller gelbmarkierten, sowie die Zellinhalte aller rotmarkierten Felder untereinanderschreiben.
Mit VBA kenn ich mich gar nicht aus, ich hoffe, das lässt sich auch über eine Formel lösen?
Vielen Dank im Voraus für Eure Tips.

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

Betreff
Datum
Anwender
Anzeige
AW: Daten aufgrund der Zellfarbe anspr. und zurückg.
14.06.2007 14:01:52
Chaos
Servus,
grundsätzlich kein Problem:
von oben:

Sub kopieren_farbe()
Dim z As Range, b As Range, z1 as Range
set b = Range("B1:B39")
For Each z in b ' durchsucht Spalte B in der Quelldatei
If z.Interior.ColorIndex = 3 Then ' rote
z.Copy Destination:= Sheets("DeinBlattname").Range("B65536").End(xlUp).Offset(1,0) '  _
erste freie Zelle in Spalte B im Zielblatt("Deinname"), kopiert die Farbe mit
End if
Next b
For Each z1 in b
If z1.Interior.ColorIndex = 6 Then
z1.Copy Destination:= Sheets("DeinBlattname").Range("C65536").End(xlUp).Offset(1,0) '  _
erste freie Zelle in Spalte C im Zielblatt("Deinname"), kopiert die Farbe mit
End if
Next b
End Sub


oder wenn nur der Wert, dann satt:
z1.Copy Destination:= Sheets("DeinBlattname").Range("C65536").End(xlUp).Offset(1,0)
dieses:
Sheets("DeinBlattname").Range("C65536").End(xlUp).Offset(1,0).Value = z1.Value
hab's nicht getestet, müsste aber funktionieren. Ist jetzt natürlich nur für ein Tabellenblatt.
Gruß
Chaos

Anzeige
AW: Daten aufgrund der Zellfarbe anspr. und zurückg.
14.06.2007 18:03:00
JStadler
ich werds sofort mal ausprobieren. vielen Dank erstmal.

AW: Daten aufgrund der Zellfarbe anspr. und zurückg.
14.06.2007 19:15:00
Chaos
Servus,
hab nochmal ein bisschen gebastelt. So funktioniert für alle Arbeitsblätter:

Sub farbe1()
Dim zeile As Integer
Dim wks As Worksheet
For Each wks In ActiveWorkbook.Worksheets
If wks.Name  "DeinBlattname" Then
For Each zeile = 1 To 39 Step 1
If wks.Cells(zeile, 2).Interior.ColorIndex = 3 Then
Sheets("DeinBlattname").Range("B65536").End(xlUp).Value = wks.Cells(zeile, 2). _
Value
End if
Next zeile
For Each zeile = 1 To 39 Step 1
If wks.Cells(zeile, 2).Interior.ColorIndex = 6 Then
Sheets("DeinBlattname").Range("C65536").End(xlUp).Value = wks.Cells(zeile, 2). _
Value
End if
Next zeile
End if
Next wks
End Sub


Hab' getestet und funktioniert einwandfrei.
Gruß aus Bayern
Chaos

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige