Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1944to1948
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
Inhaltsverzeichnis

Probleme mit dem Färben von Zellhintergrund Farben

Probleme mit dem Färben von Zellhintergrund Farben
03.09.2023 15:11:39
Dugimon
Hallo zusammen,

Ich habe ein Problem mit dem Färben von Zellhintergründen via VBA.

Ich habe ein Formular über das sämtliche Variablen korrekt befüllt werden und die Funktion "EZA" aufgerufen wird. Die Funktion EZA läuft mit dem ersten Code auf einen Fehler, "Anwendungs- oder Objektspezifischer Fehler" mit dem Fehlercode 1004. Dieser Tritt auf sobald die Zeile ".Range(Tag).Cells.Interior.Color = RGB(183, 222, 232) 'Himmelblau" ausgeführt werden soll.

Der zweite Code funktioniert anstandslos.

Die Funktionen "PasswortUnlock" und "PasswortLock" entfernen bzw. setzen den Blattschutz

Code der zum Fehler führt.
Function EZA(Tag, ErsterIntervall, Übersicht, Gebucht, Mitarbeiter)

Dim ErsteFreieZeile As Integer

If Range("AM8").Value = "In Planung" Then
Call Buchungen.PasswortUnlock
Else
MsgBox ("Änderungen an den gebuchten Schichten nur über die Schichtplaner möglich")
GoTo Ende
End If

With Sheets("KopierVorlage")
.Range(Tag).Cells.Interior.Color = RGB(255, 255, 255) 'Weißfärben des Hintergrunds
.Range(Tag).Font.Color = RGB(0, 0, 0) 'Schwarzfärben des Textes
.Range(ErsterIntervall).ClearComments
.Range(Tag) = "0"
.Range(Tag) = "EZA"
.Range(Tag).Cells.Interior.Color = RGB(183, 222, 232) 'Himmelblau
.Range(Tag).Font.Color = RGB(183, 222, 232)
.Range(ErsterIntervall).Font.Color = RGB(0, 0, 0)
.Range(ErsterIntervall) = "EZA"
End With

With Sheets("Übersicht")
.Range(Übersicht) = "EZA"
End With

With Sheets("Hilfstabellen")
.Range(Gebucht) = "0"
End With

With Sheets("Änderungsprotokoll")
ErsteFreieZeile = .Cells(Rows.count, 1).End(xlUp).row + 1
.Cells(ErsteFreieZeile, 1) = "Schichtplan"
.Cells(ErsteFreieZeile, 2) = Mitarbeiter
.Cells(ErsteFreieZeile, 3) = "EZA"
.Cells(ErsteFreieZeile, 4) = Date
.Cells(ErsteFreieZeile, 5) = Time
.Cells(ErsteFreieZeile, 6) = Environ("username")
End With

With Sheets("Hilfstabellen")
.Range(Gebucht) = "0"
End With

Ende:
Call Buchungen.PasswortLock
End Function


Code der Fehlerfrei durchläuft
Function EZA(Tag, ErsterIntervall, Übersicht, Gebucht, Mitarbeiter)

Dim ErsteFreieZeile As Integer

Dim ws As Worksheet
Set ws = ThisWorkbook.Sheets("KopierVorlage") ' Passen Sie den Blattnamen an

If ws.ProtectContents = True Then
MsgBox "Das Arbeitsblatt ist geschützt."

Else
MsgBox "Das Arbeitsblatt ist nicht geschützt."
End If

If Range("AM8").Value = "In Planung" Then
Call Buchungen.PasswortUnlock
Else
MsgBox ("Änderungen an den gebuchten Schichten nur über die Schichtplaner möglich")
GoTo Ende
End If

If ws.ProtectContents = True Then
MsgBox "Das Arbeitsblatt ist geschützt."

Else
MsgBox "Das Arbeitsblatt ist nicht geschützt."
End If

With Sheets("KopierVorlage")
.Range(Tag).Cells.Interior.Color = RGB(183, 222, 232) 'Himmelblau
.Range(Tag).Font.Color = RGB(183, 222, 232)
.Range(ErsterIntervall).Font.Color = RGB(0, 0, 0)
.Range(ErsterIntervall) = "EZA"
End With

With Sheets("Übersicht")
.Range(Übersicht) = "EZA"
End With

With Sheets("Hilfstabellen")
.Range(Gebucht) = "0"
End With

With Sheets("Änderungsprotokoll")
ErsteFreieZeile = .Cells(Rows.Count, 1).End(xlUp).row + 1
.Cells(ErsteFreieZeile, 1) = "Schichtplan"
.Cells(ErsteFreieZeile, 2) = Mitarbeiter
.Cells(ErsteFreieZeile, 3) = "EZA"
.Cells(ErsteFreieZeile, 4) = Date
.Cells(ErsteFreieZeile, 5) = Time
.Cells(ErsteFreieZeile, 6) = Environ("username")
End With

With Sheets("Hilfstabellen")
.Range(Gebucht) = "0"
End With

Ende:
Call Buchungen.PasswortLock
End Function


Was mir klar ist, der zweite Code ist sinnvoller da ich mir das doppelte Färben der Zellhintergründe spare aber dennoch möchte ich verstehen wieso der obere Code zu einem Fehler führt.

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

Betreff
Datum
Anwender
Anzeige
AW: Probleme mit dem Färben von Zellhintergrund Farben
03.09.2023 16:31:17
GerdL
Hallo,

weshalb setzt du in der ersten Funktion für Range(Tag).Cells.Interior.Color zwei verschiedene Werte?

Gruß Gerd
Probleme mit dem Färben von Zellhintergrund Farben
04.09.2023 14:48:02
Dugimon
Die Idee war zunächst etwaige Färbungen durch andere Funktionen zu entfernen und dann mit der gewünschten Färbung zu ersetzen. Warum ich es für nötig hielt das in einzel schritten zu machen weiß ich nicht mehr..
AW: Probleme mit dem Färben von Zellhintergrund Farben
03.09.2023 16:52:12
Beverly
Hi,

hast du mal geprüft, was auf deiner Variablen "Tag" steht?

Bis später
Karin

https://excel-inn.de/
Probleme mit dem Färben von Zellhintergrund Farben
04.09.2023 14:52:48
Dugimon
@Beverly: Ja die Variablen werden alle korrekt und sauber übertragen, es sind die selben werte mit denen auch die Zweite Variante arbeitet.

Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige