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

Hintergrundfarbe in bestimmten Bereich

Hintergrundfarbe in bestimmten Bereich
20.07.2003 08:27:17
Peter
Hallo an alle,
diese Makros habe ich mir hier aus dem Forum zusammen gebastelt.
Es soll, wenn in der aktiven Zelle V der Wert Ja steht, automatisch die Hintergrundfarbe der ganzen Zeile, in der sich die aktive Zelle befindet ändern.
(die Makros könnten warscheinlich auch kürzer sein, besser hab´ ich es nicht hinbekommen …)

Sub Ja()
‘ActiveSheet.Unprotect
ActiveCell.Columns.Offset(0, 0).Value = "Ja"
Selection.Interior.ColorIndex = 35
Selection.Font.ColorIndex = 1
If ActiveCell.Column = 22 Then ActiveCell.Interior.ColorIndex = 35
Rows(ActiveCell.Row).Interior.ColorIndex = 35
Range("A1").Select
‘ActiveSheet.Protect DrawingObjects:=True, Contents:=True, Scenarios:=True
End Sub


Sub Nein()
‘ActiveSheet.Unprotect
ActiveCell.Columns.Offset(0, 0).Value = "Nein"
Selection.Interior.ColorIndex = xlNone
Selection.Font.ColorIndex = 1
If ActiveCell.Column = 22 Then ActiveCell.Interior.ColorIndex = 1
Rows(ActiveCell.Row).Interior.ColorIndex = xlNone
ActiveCell.ClearContents
Range("A1").Select
‘ActiveSheet.Protect DrawingObjects:=True, Contents:=True, Scenarios:=True
End Sub

Klappt soweit auch, mit nur einem kleinen „Schönheitsfehler“. Er ändert in der ganzen Zeile die Hintergrundfarbe.
Wenn in der Zelle „V“ der Wert Ja steht, bräuchte sich nur in den Spalten A bis X , der aktiven Zeile, die Hintergrundfarbe ändern ?!?!
Gruß Peter

6
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Hintergrundfarbe in bestimmten Bereich
20.07.2003 08:35:57
Hajo_Zi
Hallo Peter
löse es ohne VBA falls Du die Farbe nicht auslesen mußt.
AW: Hintergrundfarbe in bestimmten Bereich
20.07.2003 08:39:37
Peter
schönen guten morgen,
hatte ich ganz vergessen dabei zu erklären ...
Die Funktion wird ausgelesen, da die Funtionen über ein erweitertes Kontextmenue
(Erl. ja/nein) ausgewählt werden.
Gruß Peter

AW: Hintergrundfarbe in bestimmten Bereich
20.07.2003 08:44:05
Hajo_Zi
Hallo Peter
da fehlt mir was. In Deinem Beitrag ist kein Funktion. Was wird ausgelesen. Wo ist der Code zum Kontextmenü.
Ich baue mir oft eine Beispielmappe und da fehlt mir dann schon die Information.
Gruß Hajo
Falls Code vorhanden wurde dieser getestet unter Betriebssystem XP Pro und Excel Version XP SBE.
Bitte kein Mail, Probleme sollen im Forum gelöst werden.
Microsoft MVP für Excel
Das Forum lebt auch von den Rückmeldungen.

Anzeige
AW: Hintergrundfarbe in bestimmten Bereich
20.07.2003 08:53:11
Peter
schönen guten morgen,
ich weiß nicht ob ich das jetzt richtig verstanden habe
hier ist er Makro für das Kontextmenue mit der Fuktion Erl. ja/neinPrivate

Sub Workbook_Activate()
auto_open
End Sub


Sub auto_open()
Application.Run "KontextmenüErgänzen"
End Sub


Sub KontextmenüErgänzen()
With CommandBars("Cell").Controls.Add(Type:=msoControlPopup)
.BeginGroup = True 'Trennlinie
On Error GoTo 0
.Caption = "Erledigt"
'       erster Menüpunkt
With .Controls.Add
.FaceId = 1664
.Caption = "Ja"
.OnAction = "Ja"
End With
With .Controls.Add
.BeginGroup = True 'Trennlinie
.FaceId = 1019
.Caption = "Nein"
.OnAction = "Nein"
End With
End With

Sub Ja()
'ActiveSheet.Unprotect
ActiveCell.Columns.Offset(0, 0).Value = "Ja"
Selection.Interior.ColorIndex = 35
Selection.Font.ColorIndex = 1
If ActiveCell.Column = 22 Then ActiveCell.Interior.ColorIndex = 35
Rows(ActiveCell.Row).Interior.ColorIndex = 35
Range("A1").Select
'ActiveSheet.Protect DrawingObjects:=True, Contents:=True, Scenarios:=True
End Sub


Sub Nein()
'ActiveSheet.Unprotect
ActiveCell.Columns.Offset(0, 0).Value = "Nein"
Selection.Interior.ColorIndex = xlNone
Selection.Font.ColorIndex = 1
If ActiveCell.Column = 22 Then ActiveCell.Interior.ColorIndex = 1
Rows(ActiveCell.Row).Interior.ColorIndex = xlNone
ActiveCell.ClearContents
Range("A1").Select
'ActiveSheet.Protect DrawingObjects:=True, Contents:=True, Scenarios:=True
End Sub

ist ein bischen viel geworden, aber ich habe einfach mal´ den ganzen weg hier eingesetzt.
Gruß Peter

Anzeige
AW: Hintergrundfarbe in bestimmten Bereich
20.07.2003 09:17:47
Hajo_Zi
Hallo Peter
ich habe Deinen Code ein wenig umgeschrieben. Es steht immer oben drüber wohin.


' **************************************************************
'  Modul:  DieseArbeitsmappe  Typ = Element der Mappe(Sheet, Workbook, ...)
' **************************************************************
Option Explicit
Sub Workbook_Activate()
Workbook_Open
End Sub
Private Sub Workbook_BeforeClose(Cancel As Boolean)
Zurück
End Sub
Private Sub Workbook_Deactivate()
Zurück
End Sub
Private Sub Workbook_Open()
Call KontextmenüErgänzen
End Sub



' **************************************************************
'  Modul:  Modul3  Typ = Allgemeines Modul
' **************************************************************
Option Explicit
Sub KontextmenüErgänzen()
With CommandBars("Cell").Controls.Add(Type:=msoControlPopup)
.BeginGroup = True 'Trennlinie
On Error GoTo 0
.Caption = "Erledigt"
'       erster Menüpunkt
With .Controls.Add
.FaceId = 1664
.Caption = "Ja"
.OnAction = "Ja"
End With
With .Controls.Add
.BeginGroup = True 'Trennlinie
.FaceId = 1019
.Caption = "Nein"
.OnAction = "Nein"
End With
End With
End Sub
Sub Ja()
'ActiveSheet.Unprotect
Cells(ActiveCell.Row, 22) = "Ja"
With Range(Cells(ActiveCell.Row, 1), Cells(ActiveCell.Row, 24))
.Interior.ColorIndex = 35
.Font.ColorIndex = 1
End With
'ActiveSheet.Protect DrawingObjects:=True, Contents:=True, Scenarios:=True
End Sub
Sub Nein()
'ActiveSheet.Unprotect
Cells(ActiveCell.Row, 22) = "Nein"
With Range(Cells(ActiveCell.Row, 1), Cells(ActiveCell.Row, 24))
.Interior.ColorIndex = xlNone
.Font.ColorIndex = 1
End With
'ActiveSheet.Protect DrawingObjects:=True, Contents:=True, Scenarios:=True
End Sub
Sub Zurück()
CommandBars("Cell").Reset
End Sub


Code eingefügt mit: Excel Code Jeanie
Modul3 kann bei Dir natürlich auch eine andere Zahl haben
Gruß Hajo
Falls Code vorhanden wurde dieser getestet unter Betriebssystem XP Pro und Excel Version XP SBE.
Bitte kein Mail, Probleme sollen im Forum gelöst werden.
Microsoft MVP für Excel
Das Forum lebt auch von den Rückmeldungen.

Anzeige
AW: Hintergrundfarbe in bestimmten Bereich
20.07.2003 09:30:30
Peter
Haool Hajo,
mit dem umgeschrieben Code, beschäftige ich mich heute noch genauer. Als erstes habe ich die Funktion für die Hintergrundfarbe bis Spalte X getestet.
Klappt einwandfrei - DANKE !!!
Gruß Peter

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige