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

Hintergrundfarbe aus- und einlesen

Hintergrundfarbe aus- und einlesen
08.06.2006 13:10:46
Manni
Hallo zusammen,
wie kann ich mit dem angehängten Code die Hintergrundfarbe mit aus- und einlesen ?
Die Variablen sind alle auf DIM AS DATE dimensioniert. Es kommen sämtliche Farben in betracht.
' Termine einlesen
zt = 3
Do While Cells(zt, 5) ""
If Right(Worksheets("Kalender").Cells(1, 1), 2) _
Right(Cells(zt, 5), 2) Then GoTo sprung1 ' wenn Kalenderjahr des Termins Kalenderjahr,
' dann Ausstieg
termt(zt) = Cells(zt, 5) ' Einlesen der Termine (Datum)
termin(zt) = Cells(zt, 6) ' Einlesen der Veranstaltung
sprung1: ' Sprungziel (1)
zt = zt + 1
Loop

7
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Hintergrundfarbe aus- und einlesen
08.06.2006 14:10:02
Harald
Hi Manni,
vielleicht hilft's ja
dim farbeA as byte, farbeB as byte
zt = 3
Do While Cells(zt, 5) ""
If Right(Worksheets("Kalender").Cells(1, 1), 2) _
Right(Cells(zt, 5), 2) Then GoTo sprung1 ' wenn Kalenderjahr des Termins Kalenderjahr,
' dann Ausstieg
termt(zt) = Cells(zt, 5) ' Einlesen der Termine (Datum)
farbeA = cells(zt, 5).interior.colorindex
farbeB = cells(zt, 6).interior.colorindex
termin(zt) = Cells(zt, 6) ' Einlesen der Veranstaltung
sprung1: ' Sprungziel (1)
zt = zt + 1
Loop
Gruss Harald
AW: Hintergrundfarbe aus- und einlesen
09.06.2006 14:23:35
Manni
Hallo Franz, Hallo Harald,
danke für die schnelle Antwort. Ich habe mal das Makro von Harald bei mir eingebaut.
Es funzt wahrscheinlich mit dem auslesen. Ich bekomme die Zellenfarben nicht ganz richtig in das Kalenderblatt geschrieben. Es wird nur die Farbe des letzten Termins, in das Kalenderblatt übernommen.
Anzeige
AW: Hintergrundfarbe aus- und einlesen
09.06.2006 14:35:27
Harald
Hi,
tja...daist schlechter Rat billig ;-))
Ohne den Code zu sehen, kann man nur rätseln.
Vielleicht steigt er bei der If- Bedingung schon aus ?
Farben entstehen durch bedingte Formatierung ?
P.S.: Bin ab 14.45 im Wochenende ;-)
Gruss Harald
AW: Hintergrundfarbe aus- und einlesen
09.06.2006 15:22:04
Manni
Hallo Harald,
anbei der Kalender den ich mir erstellen will.
Ich komme mit der Übernahme der Zellenfarbe in das Kalenderblatt einfach nicht weiter.
https://www.herber.de/bbs/user/34265.xls
AW: Hintergrundfarbe aus- und einlesen
10.06.2006 21:45:18
Harald
Hi,
also ich hab den Code nur mal kurz überflogen und sehe das Problem nicht in der Übergabe des Colorindex, sondern in der Schleife.
Du solltest die Colorindex-Übergabe in den Loop mit einbauen, damit er für jeden Durchlauf auch den richtigen Colorindex nutzt.
Mir persönlich wäre dieser Code auch zu lang. Ich würde das in Einzelschritte(kleinere Subs) unterteilen und per
Call Makro irgendwas
Call Makro was anderes
übersichtlicher aufbauen.
Am Montag hab ich mehr Zeit dafür.....falls nötig
Gruß
Harald
Anzeige
AW: Hintergrundfarbe aus- und einlesen
09.06.2006 15:11:48
fcs
Hallo Manni,
so wie du die Termine und den Veranstaltungsnamen in die dimensionierten Variablen "termt" bzw. "termin" in Feld-Variablen einliest, so muß du auch die Farbinformation in eine Feldvariable einlesen. Wenn die Farben der beiden Zellen immer identisch sind, dann reicht ein eindimensionales Feld, sind die Farben verschieden, dann ist ein zweidimensionales Feld erforderlich. Nachfolgend wie es etwa aussehen muß bei verschiedenen Farben:

' Diese Dim-Anweisungen müssen bei dir so oder ähnlich zu Beginn des Codes stehen:
Dim termt(500) As Date, termin(500) As Variant, Farbe(500, 1 To 2) As Integer
' Falls die Felder mit ReDim später deklariert werden, dann am Anfang des Codes:
Dim termt(), termin(), Farbe()
'Später im Code
Zeilen = Cells(65000, 5).End(xlUp).Row 'Letzte Zeile in Spalte 5
ReDim termt(Zeilen), termin(Zeilen), Farbe(Zeilen, 1 To 2)
zt = 3
Do While Cells(zt, 5) <> ""
If Right(Worksheets("Kalender").Cells(1, 1), 2) _
<> Right(Cells(zt, 5), 2) Then GoTo sprung1 ' wenn Kalenderjahr des Termins <> Kalenderjahr,
' dann Ausstieg
termt(zt) = Cells(zt, 5) ' Einlesen der Termine (Datum)
Farbe(zt, 1) = Cells(zt, 5).Interior.ColorIndex ' Einlesen Farbe Termin
Farbe(zt, 2) = Cells(zt, 6).Interior.ColorIndex ' Einlesen Farbe Veranstaltung
termin(zt) = Cells(zt, 6) ' Einlesen der Veranstaltung
sprung1: ' Sprungziel (1)
zt = zt + 1
Loop

mfg
Franz
Anzeige
AW: Hintergrundfarbe aus- und einlesen
08.06.2006 14:49:35
fcs
Hallo Manni,
zum Testen hab ich etwas Beiwerk hinzugefügt.
Den Vergleich zur Prüfung ob Veranstaltung im aktuellen Jahr halte ich für nicht so gut. Funktionierte mit meinen Testdaten auch nicht, wenn der Inhalt der Zellen als Datum Formatiert war. Ich hab meinen Vorschlag mit eingebaut.

Sub Test()
' Termine einlesen
Dim termt() As Date, termin() As String, Farbe() As Integer, zt As Long
zt = 3
ReDim termt(1 To Cells(65000, 5).End(xlUp).Row)
ReDim termin(1 To Cells(65000, 5).End(xlUp).Row)
ReDim Farbe(1 To Cells(65000, 5).End(xlUp).Row, 1 To 2)
Do While Cells(zt, 5) <> ""
If Year(Worksheets("Kalender").Cells(1, 1)) _
<> Year(Cells(zt, 5)) Then GoTo sprung1 ' wenn Kalenderjahr des Termins <> Kalenderjahr,
' dann Ausstieg
termt(zt) = Cells(zt, 5) ' Einlesen der Termine (Datum)
termin(zt) = Cells(zt, 6) ' Einlesen der Veranstaltung
Farbe(zt, 1) = Cells(zt, 5).Interior.ColorIndex ' Einlesen Farbe Termin
Farbe(zt, 2) = Cells(zt, 6).Interior.ColorIndex ' Einlesen Farbe Veranstaltung
sprung1:   ' Sprungziel (1)
'Testzeile
MsgBox ("Datum: " & termt(zt) & ", Veranstaltung: " & termin(zt) & ", Farben: " & Farbe(zt, 1) & " / " & Farbe(zt, 2))
zt = zt + 1
Loop
End Sub

mfg
Franz

Anzeige

228 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige